D3DCREATE

Eine Kombination aus einem oder mehreren Flags, die das Geräteerstellungsverhalten steuern.

#define BESCHREIBUNG
D3DCREATE_ADAPTERGROUP_DEVICE Die Anwendung fordert das Gerät auf, alle Köpfe zu steuern, die dieser master Adapter besitzt. Das Flag ist auf Nichtmasteradaptern unzulässig. Wenn dieses Flag festgelegt ist, sollten die an CreateDevice übergebenen Präsentationsparameter auf ein Array mit D3DPRESENT_PARAMETERS verweisen. Die Anzahl der Elemente in D3DPRESENT_PARAMETERS sollte der Anzahl von Adaptern entsprechen, die vom NumberOfAdaptersInGroup-Member der D3DCAPS9-Struktur definiert werden. Die DirectX-Runtime weist jedem Kopf jedes Element in der numerischen Reihenfolge zu, die vom AdapterOrdinalInGroup-Member von D3DCAPS9 angegeben wird.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT Direct3D verwaltet Ressourcen anstelle des Treibers. Direct3D-Aufrufe schlagen bei Ressourcenfehlern wie unzureichendem Videospeicher nicht fehl.
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Wie D3DCREATE_DISABLE_DRIVER_MANAGEMENT verwaltet Direct3D Ressourcen anstelle des Treibers. Im Gegensatz zu D3DCREATE_DISABLE_DRIVER_MANAGEMENT geben D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX Fehler für Bedingungen wie unzureichenden Videospeicher zurück.
D3DCREATE_DISABLE_PRINTSCREEN Bewirkt, dass die Runtime keine Hotkeys für Printscreen, Ctrl-Printscreen und Alt-Printscreen registriert, um den Desktop- oder Fensterinhalt zu erfassen.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 

D3DCREATE_DISABLE_PSGP_THREADING Beschränken Sie die Berechnung auf den Standard Anwendungsthread. Wenn das Flag nicht festgelegt ist, kann die Runtime softwarevertex processing and other computations in worker thread ausführen, um die Leistung auf Multiprozessorsystemen zu verbessern.
Unterschiede zwischen Windows XP und Windows Vista:
Dieses Flag ist unter Windows Vista, Windows Server 2008 und Windows 7 verfügbar.

 

D3DCREATE_ENABLE_PRESENTSTATS Ermöglicht das Sammeln vorhandener Statistiken auf dem Gerät. Aufrufe von GetPresentStatistics geben gültige Daten zurück.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 

D3DCREATE_FPU_PRESERVE Legen Sie die Genauigkeit für Direct3D-Gleitkommaberechnungen auf die genauigkeit fest, die vom aufrufenden Thread verwendet wird. Wenn Sie dieses Flag nicht angeben, verwendet Direct3D aus zwei Gründen standardmäßig den Round-to-Nearest-Modus mit einfacher Genauigkeit:
  • Der Modus mit doppelter Genauigkeit verringert die Direct3D-Leistung.
  • Teile von Direct3D gehen davon aus, dass Ausnahmen für Gleitkommaeinheiten maskiert sind. Das Entlarmen dieser Ausnahmen kann zu undefiniertem Verhalten führen.
D3DCREATE_HARDWARE_VERTEXPROCESSING Gibt die Hardwarevertexverarbeitung an.
D3DCREATE_MIXED_VERTEXPROCESSING Gibt eine gemischte Vertexverarbeitung (sowohl Software als auch Hardware) an. Für Windows 10, Version 1607 und höher, wird die Verwendung dieser Einstellung nicht empfohlen. Weitere Informationen finden Sie unter D3DCREATE_SOFTWARE_VERTEXPROCESSING.
D3DCREATE_SOFTWARE_VERTEXPROCESSING Gibt die Softwarevertexverarbeitung an. Für Windows 10, Version 1607 und höher, wird die Verwendung dieser Einstellung nicht empfohlen. Verwenden Sie D3DCREATE_HARDWARE_VERTEXPROCESSING.

Hinweis:
Sofern keine Hardwarevertexverarbeitung verfügbar ist, wird die Verwendung der Softwarevertexverarbeitung in Windows 10, Version 1607 (und höheren Versionen) nicht empfohlen, da die Effizienz der Softwarevertexverarbeitung erheblich reduziert wurde und gleichzeitig die Sicherheit der Implementierung verbessert wurde.

 
D3DCREATE_MULTITHREADED Gibt an, dass die Anwendung Direct3D anfordert, multithreadsicher zu sein. Dadurch übernimmt ein Direct3D-Thread häufiger den Besitz seines globalen kritischen Abschnitts , was die Leistung beeinträchtigen kann. Wenn eine Anwendung Fensternachrichten in einem Thread verarbeitet, während direct3D-API-Aufrufe in einem anderen ausgeführt werden, muss die Anwendung dieses Flag beim Erstellen des Geräts verwenden. Dieses Fenster muss auch vor dem Entladen d3d9.dll zerstört werden.
D3DCREATE_NOWINDOWCHANGES Gibt an, dass Direct3D das Fokusfenster in keiner Weise ändern darf.

Hinweis:
Wenn dieses Flag festgelegt ist, muss die Anwendung alle Fokusverwaltungsereignisse wie ALT+TAB und Mausklickereignisse vollständig unterstützen.

 
D3DCREATE_PUREDEVICE Gibt an, dass Direct3D Get*-Aufrufe für alles, was in Zustandsblöcken gespeichert werden kann, nicht unterstützt. Außerdem wird Direct3D aufgefordert, keine Emulationsdienste für die Vertexverarbeitung bereitzustellen. Dies bedeutet, dass die Anwendung nur nachträglich transformierte Scheitelpunkte verwenden kann, wenn das Gerät keine Vertexverarbeitung unterstützt.
D3DCREATE_SCREENSAVER Ermöglicht Bildschirmschoner während einer Vollbildanwendung. Ohne dieses Flag deaktiviert Direct3D Bildschirmschoner, solange die aufrufende Anwendung vollbildlich ist. Wenn die aufrufende Anwendung bereits ein Bildschirmschoner ist, hat dieses Flag keine Auswirkungen.
Unterschiede zwischen Direct3D 9 und Direct3D 9Ex:
Dieses Flag ist nur in Direct3D 9Ex verfügbar.

 

 

D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING und D3DCREATE_SOFTWARE_VERTEXPROCESSING schließen sich gegenseitig aus. Beim Aufrufen von CreateDevice muss mindestens eines dieser Vertexverarbeitungsflags angegeben werden.

Konstante Informationen

Anforderung Wert
Header D3D9.h
Mindestbetriebssystem Windows 98

 

Direct3D-Konstanten