PFND3DDDI_SETMARKERMODE Rückruffunktion (d3dumddi.h)
Benachrichtigt den Anzeigetreiber für den Benutzermodus, dass er einen Ereignisablaufverfolgungstyp für Windows (ETW) unterstützen sollte. Optional implementiert durch Windows Display Driver Model (WDDM) 1.3 und höher Treiber, die auf Microsoft Direct3D Level 9-Hardware ausgeführt werden. (Siehe Anforderungen in Verbesserungen der Direct3D-Renderingleistung.) Für komplexere Hardware sollten Treiber die SetMarkerMode--Funktion implementieren.
Syntax
PFND3DDDI_SETMARKERMODE Pfnd3dddiSetmarkermode;
HRESULT Pfnd3dddiSetmarkermode(
HANDLE hDevice,
D3DDDI_MARKERTYPE Type,
UINT Flags
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
Type
Ein Wert aus der D3DDDI_MARKERTYPE-Aufzählung, der den Typ des Markerereignisses angibt, das der Treiber unterstützen soll.
Flags
Ein UINT Wert, der angibt, ob der Treiber benutzerdefinierte Informationen in Befehlspuffern bereitstellen soll. Wenn dieser auf D3DDDI_SETMARKERMODE_CUSTOMDRIVEREVENTSfestgelegt ist, sollte der Treiber Puffer mit benutzerdefinierten Ereignisinformationen kommentieren und instrumentieren. Andernfalls sollte der Treiber keine Befehlspuffer kommentieren.
Die Anmerkung kann sich in Form einer Textzeichenfolge im gebietsschema English-US oder in Form eines Indexwerts an einer Position in einer Zeichenfolgentabelle befinden. Für die letztere Option muss der Treiber auch eine Funktion implementieren, die die Zeichenfolgen beschreibt, die die Indexwerte angeben.
Rückgabewert
Gibt S_OK oder ein entsprechendes Fehlerergebnis zurück, wenn die Funktion nicht erfolgreich abgeschlossen wurde.
Bemerkungen
Befolgen Sie die folgenden Richtlinien, wenn Sie Profiltyp-Markerereignisse in Ihrem Benutzermodustreiber einrichten, der durch den typ "D3DDDIMT_PROFILE" angegeben wird:
- Verwenden Sie einfache Instrumentierung, die keine starke Korrelation mit Grafikbefehlsgrenzen erzeugt.
- Der Treiber muss in der Lage sein, den GPU-Zeitstempel am Ende der Grafikpipeline zu probieren.
- Verwenden Sie keine Samplingbefehle, die eine hohe Leistungsbelastung für die Grafikpipeline verursachen, z. B. Warte-für-Leerlauf-Befehle. Damit Sie Markerereignisse vom Typ "Profiltyp" instrumentieren können, sollte Ihr Treiber die Pipeline oder caches nicht leeren müssen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8.1,WDDM 1.3 und höher |
mindestens unterstützte Server- | Windows Server 2012 R2 |
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3d10umddi.h) |