Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwendungsoptionen, die bestimmen, wie Ressourcen verwendet werden sollen.
In der folgenden Tabelle sind die verfügbaren Verwendungsoptionen zusammengefasst.
Dauerhaft | BESCHREIBUNG |
---|---|
|
Die Ressource generiert automatisch Mipmaps. Siehe automatische Generierung von Mipmaps (Direct3D 9). Die automatische Generierung von Mipmaps wird für Volumentexturen und Tiefenschablonenoberflächen/Texturen nicht unterstützt. Diese Verwendung ist für eine Ressource im Systemspeicher (D3DPOOL_SYSTEMMEM) ungültig. |
|
Die Ressource ist ein Tiefenschablonenpuffer.
D3DUSAGE_DEPTHSTENCIL kann nur mit D3DPOOL_DEFAULT verwendet werden. |
|
Die Ressource ist eine Verdrängungszuordnung. |
|
Legen Sie fest, dass der Vertexpufferinhalt nie clipping erfordert. Beim Rendern mit Puffern, für die dieses Flag festgelegt ist, muss der D3DRS_CLIPPING Renderzustand auf "false" festgelegt werden. |
|
Legen Sie fest, dass der Vertexpuffer dynamische Speicherverwendung erfordert. Dies ist für Treiber nützlich, da sie entscheiden können, wo der Puffer platziert werden soll. Im Allgemeinen werden statische Vertexpuffer im Videospeicher platziert, und dynamische Vertexpuffer werden im AGP-Speicher platziert. Beachten Sie, dass keine separate statische Verwendung vorhanden ist. Wenn Sie keine D3DUSAGE_DYNAMIC angeben, wird der Vertexpuffer statisch erstellt.
D3DUSAGE_DYNAMIC wird streng durch die D3DLOCK_DISCARD und D3DLOCK_NOOVERWRITE Sperren von Flags erzwungen. Daher sind D3DLOCK_DISCARD und D3DLOCK_NOOVERWRITE nur für Vertexpuffer gültig, die mit D3DUSAGE_DYNAMIC erstellt wurden. Sie sind ungültige Flags für statische Vertexpuffer. Weitere Informationen finden Sie unter Verwalten von Ressourcen (Direct3D 9). Weitere Informationen zur Verwendung dynamischer Vertexpuffer finden Sie unter Leistungsoptimierungen (Direct3D 9). D3DUSAGE_DYNAMIC und D3DPOOL_MANAGED sind nicht kompatibel und sollten nicht zusammen verwendet werden. Siehe D3DPOOL. Texturen können D3DUSAGE_DYNAMIC angeben. Verwaltete Texturen können jedoch nicht D3DUSAGE_DYNAMIC verwenden. Weitere Informationen zu dynamischen Texturen finden Sie unter Verwenden dynamischer Texturen. |
|
Zulassen, dass eine freigegebene Oberfläche, die von einer sicheren Anwendung erstellt wird, von einer nicht sicheren Anwendung geöffnet wird, die über das freigegebene Handle verfügt. Unterschiede zwischen Direct3D 9 und Direct3D 9Ex: Dieses Flag ist nur in Direct3D 9Ex verfügbar. |
|
Legen Sie fest, dass der Vertexpuffer zum Zeichnen von N-Patches verwendet werden soll. |
|
Legen Sie fest, dass der Scheitelpunkt- oder Indexpuffer für Zeichnungspunkt-Sprites verwendet wird. Der Puffer wird im Systemspeicher geladen, wenn die Softwarevertexverarbeitung zum Emulieren von Punkt-Sprites erforderlich ist. |
|
Die Ressource ist ein Renderziel.
D3DUSAGE_RENDERTARGET kann nur mit D3DPOOL_DEFAULT verwendet werden. |
|
Legen Sie fest, dass der Vertexpuffer für das Zeichnen von Grundtypen mit hoher Reihenfolge verwendet werden soll. |
|
Wenn dieses Kennzeichen verwendet wird, erfolgt die Vertexverarbeitung in der Software. Wenn dieses Flag nicht verwendet wird, erfolgt die Vertexverarbeitung in der Hardware. Das D3DUSAGE_SOFTWAREPROCESSING-Flag kann festgelegt werden, wenn die Datenverarbeitung im gemischten Modus oder bei der Softwarevertexverarbeitung (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) für dieses Gerät aktiviert ist. D3DUSAGE_SOFTWAREPROCESSING müssen für Puffer festgelegt werden, die mit der Softwarevertexverarbeitung im gemischten Modus verwendet werden sollen. Sie sollte jedoch nicht für die bestmögliche Leistung festgelegt werden, wenn Sie die Hardwareindexverarbeitung im gemischten Modus (D3DCREATE_HARDWARE_VERTEXPROCESSING) verwenden. Das Festlegen D3DUSAGE_SOFTWAREPROCESSING ist jedoch die einzige Option, wenn ein einzelner Puffer sowohl bei der Hardware- als auch bei der Softwarevertexverarbeitung verwendet wird. D3DUSAGE_SOFTWAREPROCESSING ist für Gemischte und Softwaregeräte zulässig. D3DUSAGE_SOFTWAREPROCESSING wird mit CheckDeviceFormat verwendet, um herauszufinden, ob ein bestimmtes Texturformat während der Softwarevertexverarbeitung als Vertextexttextur verwendet werden kann. Wenn dies möglich ist, muss die Textur in D3DPOOL_SCRATCH erstellt werden. |
|
Dieses Verwendungsflagge muss für Vertexpuffer und Quelloberflächen angegeben werden, die in Aufrufen von ComposeRects verwendet werden. Mit diesem Verwendungsflagge erstellte Texturen können nicht für die Texturfilterung verwendet werden. Vertexpuffer, die mit diesem Verwendungsflagge erstellt wurden, können nicht als Eingabedatenstromquellen verwendet werden. Unterschiede zwischen Direct3D 9 und Direct3D 9Ex: Dieses Flag ist nur in Direct3D 9Ex verfügbar. |
|
Informiert das System, dass die Anwendung nur in den Vertexpuffer schreibt. Mithilfe dieses Flags kann der Treiber den besten Speicherort für effiziente Schreibvorgänge und Renderings auswählen. Versuche, aus einem Vertexpuffer zu lesen, der mit dieser Funktion erstellt wird, schlägt fehl. Puffer, die mit D3DPOOL_DEFAULT erstellt wurden, die nicht angeben , D3DUSAGE_WRITEONLY möglicherweise eine schwere Leistungsstrafe haben.
D3DUSAGE_WRITEONLY wirkt sich nur auf die Leistung von D3DPOOL_DEFAULT Puffern aus. |
|
Durch Festlegen dieses Flags wird angegeben, dass die Ressource geschützte Inhalte enthalten kann. Unterschiede zwischen Direct3D 9 und Direct3D 9Ex: Dieses Flag ist nur in Direct3D 9Ex verfügbar. |
|
Durch Festlegen dieses Flags wird angegeben, dass der Zugriff auf die freigegebene Ressource eingeschränkt werden soll. Unterschiede zwischen Direct3D 9 und Direct3D 9Ex: Dieses Flag ist nur in Direct3D 9Ex verfügbar. |
|
Durch Festlegen dieses Flags wird angegeben, dass der Treiber den Zugriff auf die freigegebene Ressource einschränken soll. Der Anrufer muss einen authentifizierten Kanal mit dem Treiber erstellen. Der Treiber sollte dann den Zugriff auf Prozesse zulassen, die versuchen, diese freigegebene Ressource zu öffnen. Unterschiede zwischen Direct3D 9 und Direct3D 9Ex: Dieses Flag ist nur in Direct3D 9Ex verfügbar. |
Bemerkungen
Einsatz- und Ressourcenkombinationen
Verwendungen werden entweder angegeben, wenn eine Ressource erstellt oder mit CheckDeviceType angegeben wird, um die Funktion einer vorhandenen Ressource zu testen. In der folgenden Tabelle wird angegeben, welche Verwendungen auf welche Ressourcentypen angewendet werden können.
Verwendung | Vertexpuffer erstellen | Indexpuffer erstellen | Texturerstellung | Erstellen einer Cubetextur | Volumentextur erstellen | Erstellen von Surface | Überprüfen des Geräteformats |
---|---|---|---|---|---|---|---|
D3DUSAGE_AUTOGENMIPMAP | Ja, ja | ja | |||||
D3DUSAGE_DEPTHSTENCIL | Ja, ja | Ja, ja | |||||
D3DUSAGE_DMAP | ja | ja | |||||
D3DUSAGE_DONOTCLIP Ja ja | |||||||
D3DUSAGE_DYNAMIC ja ja ja ja | ja | ||||||
D3DUSAGE_NONSECURE ja | |||||||
D3DUSAGE_NPATCHES Ja | |||||||
D3DUSAGE_POINTS Ja ja | |||||||
D3DUSAGE_RTPATCHES Ja ja | |||||||
D3DUSAGE_RENDERTARGET | Ja, ja | Ja, ja | |||||
D3DUSAGE_SOFTWAREPROCESSING ja ja ja ja ja | ja | ||||||
D3DUSAGE_TEXTAPI Ja | ja | ||||||
D3DUSAGE_WRITEONLY Ja ja |
Verwenden Sie CheckDeviceFormat , um die Hardwareunterstützung für diese Verwendungen zu überprüfen.
Jede der Methoden zur Ressourcenerstellung wird hier aufgeführt.
- CreateCubeTexture
- CreateDepthStencilSurface-
- CreateIndexBuffer
- CreateOffscreenPlainSurface-
- CreateRenderTarget-
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
Die D3DXCreatexxx-Texturfunktionen verwenden auch einige dieser Konstantenwerte für die Ressourcenerstellung.
Weitere Informationen zu Pooltypen und deren Einschränkungen mit bestimmten Verwendungen finden Sie unter D3DPOOL.
Anforderungen
Anforderung | Wert |
---|---|
Kopfzeile |
|
Siehe auch