D3DDEVINFO_VCACHE Struktur (d3d9types.h)
Nur DirectX 8.1 und höhere Versionen.
Die D3DDEVINFO_VCACHE-Struktur beschreibt Vertexcacheinformationen eines Geräts.
Syntax
typedef struct _D3DDEVINFO_VCACHE {
DWORD Pattern;
DWORD OptMethod;
DWORD CacheSize;
DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;
Angehörige
Pattern
Gibt das Bitmuster an. Der Treiber muss das Bitmuster als vierstelligen CACH-Codewert (FOURCC) angeben. Der Treiber kann das MAKEFOURCC-Makro wie folgt verwenden, um den FOURCC-Wert als CACH anzugeben:
MAKEFOURCC('C', 'A', 'C', 'H');
OptMethod
Gibt die Methode der Gitteroptimierung an. Der Treiber kann einen der folgenden Werte verwenden, um die verwendete Gitteroptimierung anzugeben:
Wert | Bedeutung |
---|---|
D3DXMESHOPT_STRIPREORDER (0) | Optimierung der längsten Streifen |
D3DXMESHOPT_VCACHE (1) | Vertexcachebasierte Optimierung |
CacheSize
Gibt die effektive Größe in Einträgen an, für die der Treiber den Vertexcache optimiert. Die tatsächliche Cachegröße ist nicht erforderlich, um die in CacheSize- angegebene Größe zu sein, da sich in den meisten Fällen die tatsächliche Cachegröße als größer herausstellt. Der Treiber gibt nur eine optimierte Größe in CacheSize- an, wenn er auch D3DXMESHOPT_VCACHE im OptMethod Member angibt.
MagicNumber
Gibt die Zahl an, die als Teil einer Test- und Fehlerprozedur verwendet werden soll, wenn ermittelt wird, wann die Stripsliste neu gestartet werden soll. Diese Zahl kann von 1 auf den Wert im CacheSize Member festgelegt werden. In der Regel sind die besten Werte in der Nähe CacheSize/2.
Bemerkungen
Nur DirectX 8.1-Versionen. Die Direct3D-Laufzeit ruft die D3dGetDriverState-Funktion eines Treibers auf, um Vertexcacheinformationen vom Treiber abzurufen. In diesem D3dGetDriverState Aufruf gibt die Laufzeit das D3DDEVINFOID_VCACHE Flag im dwFlags Member der DD_GETDRIVERSTATEDATA Struktur an, die die Laufzeit übergibt. Der Treiber gibt Vertexcacheinformationen in einer D3DDEVINFO_VCACHE-Struktur an und gibt sie an der lpdwStates Member von DD_GETDRIVERSTATEDATA zurück.
Nur DirectX 9.0 und höhere Versionen. Die Direct3D-Laufzeit gibt D3DDP2OP_CREATEQUERY und D3DDP2OP_ISSUEQUERY Befehle in Aufrufen der D3dDrawPrimitives2 Rückruf an, um treiberseitige Ressourcen für die Abfrage zu erstellen und dann den Treiber asynchron nach Vertexcacheinformationen abzufragen. Im Aufruf mit dem Befehl D3DDP2OP_CREATEQUERY gibt die Laufzeit den D3DQUERYTYPE_VCACHE Abfragetyp im QueryType Member der D3DHAL_DP2CREATEQUERY Struktur an.
Wenn der Treiber eine Vertexcacheabfrage abgeschlossen hat, legt der Treiber die Gesamtgröße des Antwortpuffers im dwErrorOffset-Element der D3DHAL_DRAWPRIMITIVES2DATA Struktur fest und legt das ddrval Member von D3DHAL_DRAWPRIMITIVES2DATA auf D3D_OK für den erfolgreichen Abschluss fest. Der Treiber überschreibt auch den eingehenden Befehlspuffer mit dem ausgehenden Antwortpuffer. Dieser Antwortpuffer enthält eine D3DHAL_DP2RESPONSEQUERY Struktur, die eine Antwort für die Vertexcacheabfrage identifiziert. Auf diese D3DHAL_DP2RESPONSEQUERY folgen die Vertexcachedaten in der D3DDEVINFO_VCACHE-Struktur.
Anforderungen
Anforderung | Wert |
---|---|
Header- | d3d9types.h (include D3d9types.h) |
Siehe auch
D3DDP2OP_CREATEQUERY
D3DDP2OP_ISSUEQUERY