D3DDEVINFO_VCACHE struttura (d3d9types.h)

DirectX 8.1 e versioni successive solo.

La struttura D3DDEVINFO_VCACHE descrive le informazioni sulla cache dei vertici di un dispositivo.

Sintassi

typedef struct _D3DDEVINFO_VCACHE {
  DWORD Pattern;
  DWORD OptMethod;
  DWORD CacheSize;
  DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;

Members

Pattern

Specifica il modello di bit. Il driver deve specificare il modello di bit come valore del codice A QUATTRO caratteri (FOURCC). Il driver può usare la macro MAKEFOURCC come segue per specificare il valore FOURCC come CACH:

MAKEFOURCC('C', 'A', 'C', 'H');

OptMethod

Specifica il metodo di ottimizzazione mesh. Il driver può usare uno dei valori seguenti per specificare l'ottimizzazione mesh usata:

Valore Significato
D3DXMESHOPT_STRIPREORDER (0) Ottimizzazione strips più lunga
D3DXMESHOPT_VCACHE (1) Ottimizzazione basata su cache vertex

CacheSize

Specifica le dimensioni effettive, nelle voci, per cui il driver ottimizza la cache dei vertici. Le dimensioni effettive della cache non sono necessarie per essere le dimensioni specificate in CacheSize , perché nella maggior parte dei casi la dimensione effettiva della cache risulta più grande. Il driver specifica solo una dimensione ottimizzata in CacheSize se specifica anche D3DXMESHOPT_VCACHE nel membro OptMethod .

MagicNumber

Specifica il numero che deve essere usato come parte di una procedura di valutazione e errore quando si determina quando riavviare l'elenco di strips. Questo numero può essere impostato da 1 al valore nel membro CacheSize . In genere, i valori migliori sono vicini a CacheSize/2.

Commenti

Solo versioni DirectX 8.1. Il runtime Direct3D chiama la funzione D3dGetDriverState di un driver per ottenere informazioni sulla cache dei vertici dal driver. In questa chiamata D3dGetDriverState , il runtime specifica il flag di D3DDEVINFOID_VCACHE nel membro dwFlags della struttura DD_GETDRIVERSTATEDATA passata dal runtime. Il driver specifica le informazioni sulla cache dei vertici in una struttura D3DDEVINFO_VCACHE e la restituisce al membro lpdwStates di DD_GETDRIVERSTATEDATA.

DirectX 9.0 e versioni successive solo. Il runtime Direct3D specifica D3DDP2OP_CREATEQUERY e D3DDP2OP_ISSUEQUERY comandi nelle chiamate al callback D3dDrawPrimitives2 del driver per creare risorse lato driver per la query e quindi eseguire query asincronamente sul driver per le informazioni di vertex-cache. Nella chiamata con il comando D3DDP2OP_CREATEQUERY, il runtime specifica il tipo di query D3DQUERYTYPE_VCACHE nel membro QueryTypedella struttura D3DHAL_DP2CREATEQUERY.

Quando il driver completa una query vertex-cache, il driver imposta le dimensioni totali del buffer di risposta nel membro dwErrorOffset della struttura D3DHAL_DRAWPRIMITIVES2DATA e imposta il membro ddrval di D3DHAL_DRAWPRIMITIVES2DATA su D3D_OK per il completamento riuscito. Il driver sovrascrive anche il buffer dei comandi in ingresso con il buffer di risposta in uscita. Questo buffer di risposta contiene una struttura D3DHAL_DP2RESPONSEQUERY che identifica una risposta per la query vertex-cache. Questa D3DHAL_DP2RESPONSEQUERY è seguita dai dati della cache dei vertici nella struttura D3DDEVINFO_VCACHE.

Requisiti

Requisito Valore
Intestazione d3d9types.h (include D3d9types.h)

Vedi anche

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState