Freigeben über


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

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState-