Freigeben über


Ressourceneigenschaften (Direct3D 9)

Alle Ressourcen teilen die folgenden Eigenschaften.

  • Verwendung. Die Art und Weise, wie eine Ressource verwendet wird, z. B. als Textur oder als Renderziel.
  • Format. Das Format der Daten, z. B. das Pixelformat einer 2D-Oberfläche.
  • Tümpel. Der Speichertyp, in dem die Ressource zugeordnet ist.
  • Art. Der Typ der Ressource, z. B. ein Vertexpuffer oder Renderziel.

Ressourcenverwendungen werden erzwungen. Eine Anwendung, die eine Ressource in einem bestimmten Vorgang verwendet, muss diesen Vorgang zum Zeitpunkt der Ressourcenerstellung angeben. Eine Liste der für Ressourcen definierten Verwendungskonstanten finden Sie unter D3DUSAGE.

Die D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES und D3DUSAGE_POINTS Konstanten geben dem Treiber an, dass die Daten in diesen Puffern wahrscheinlich für Dreiecks- oder Rasterpatches, N-Patches oder Punktspites verwendet werden. Diese Flags werden bereitgestellt, falls die Hardware diese Vorgänge nicht ohne Hostverarbeitung ausführen kann. Daher möchte der Treiber diese Oberflächen im Systemspeicher zuordnen, damit die CPU darauf zugreifen kann. Wenn der Treiber diese Vorgänge vollständig in der Hardware ausführen kann, kann er diese Oberflächen im Video- oder AGP-Speicher zuordnen, um eine Hostkopie zu vermeiden und die Leistung mindestens zweifach zu verbessern. Beachten Sie, dass die von diesen Flags bereitgestellten Informationen nicht unbedingt erforderlich sind. Ein Treiber kann erkennen, dass solche Vorgänge für die Daten ausgeführt werden, und der Puffer wird für nachfolgende Frames wieder in den Systemspeicher verschoben.

Ausführliche Informationen zu den Verwendungskennzeichnungen und deren Beziehung zu bestimmten Ressourcen finden Sie auf den Referenzseiten der einzelnen Ressourcenerstellungsmethoden.

Informationen zum Oberflächenformat von Ressourcen finden Sie im D3DFORMAT Aufzählungstyp.

Die Speicherklasse, die die Puffer einer Ressource enthält, wird als Pool bezeichnet. Poolwerte werden durch den D3DPOOL Enumerationstyp definiert. Ein Pool kann für unterschiedliche Objekte, die in einer einzelnen Ressource enthalten sind, d. h. Mip-Ebenen in einer Mipmap nicht gemischt werden, und wenn ein Pool für eine Ressource ausgewählt wird, kann der Pool nicht geändert werden.

Die Ressourcentypen werden implizit zur Laufzeit festgelegt, wenn die Anwendung eine Ressourcenerstellungsmethode aufruft, z. B. IDirect3DDevice9::CreateCubeTexture. Ressourcentypen werden durch den D3DRESOURCETYPE aufgezählten Typ definiert. Anwendungen können diese Typen zur Laufzeit abfragen; Es wird jedoch erwartet, dass die meisten Szenarien keine Laufzeittypüberprüfung erfordern.

Direct3D-Ressourcen