structure D3DDEVINFO_VCACHE (d3d9types.h)

DirectX 8.1 et versions ultérieures uniquement.

La structure D3DDEVINFO_VCACHE décrit les informations de cache de vertex d’un appareil.

Syntaxe

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

Membres

Pattern

Spécifie le modèle de bits. Le pilote doit spécifier le modèle de bits comme valeur de code à quatre caractères (FOURCC). Le pilote peut utiliser la macro MAKEFOURCC comme suit pour spécifier la valeur FOURCC en tant que CACHE :

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

OptMethod

Spécifie la méthode d’optimisation du maillage. Le pilote peut utiliser l’une des valeurs suivantes pour spécifier l’optimisation du maillage qu’il utilise :

Valeur Signification
D3DXMESHOPT_STRIPREORDER (0) Optimisation des bandes les plus longues
D3DXMESHOPT_VCACHE (1) Optimisation basée sur le cache de vertex

CacheSize

Spécifie la taille effective, dans les entrées, pour laquelle le pilote optimise le cache de vertex. La taille réelle du cache n’est pas nécessaire pour être la taille spécifiée dans CacheSize, car dans la plupart des cas, la taille réelle du cache s’avère plus grande. Le pilote spécifie uniquement une taille optimisée dans CacheSize si elle spécifie également D3DXMESHOPT_VCACHE dans le membre OptMethod.

MagicNumber

Spécifie le nombre qui doit être utilisé dans le cadre d’une procédure d’essai et d’erreur lors de la détermination du moment où redémarrer la liste de bandes. Ce nombre peut être défini de 1 à la valeur du membre CacheSize. En règle générale, les meilleures valeurs sont proches CacheSize/2.

Remarques

Versions de DirectX 8.1 uniquement. Le runtime Direct3D appelle la fonction D3dGetDriverState d’un pilote pour obtenir des informations de cache de vertex auprès du pilote. Dans cet appel D3dGetDriverState, le runtime spécifie l’indicateur D3DDEVINFOID_VCACHE dans le membre de la structure DD_GETDRIVERSTATEDATA que le runtime transmet. Le pilote spécifie des informations de cache de vertex dans une structure de D3DDEVINFO_VCACHE et le retourne au lpdwStates membre de DD_GETDRIVERSTATEDATA.

DirectX 9.0 et versions ultérieures uniquement. Le runtime Direct3D spécifie D3DDP2OP_CREATEQUERY et D3DDP2OP_ISSUEQUERY commandes dans les appels aux D3dDrawPrimitives2 du pilote rappel pour créer des ressources côté pilote pour la requête, puis pour interroger de manière asynchrone le pilote pour obtenir des informations de vertex-cache. Dans l’appel avec la commande D3DDP2OP_CREATEQUERY, le runtime spécifie le type de requête D3DQUERYTYPE_VCACHE dans le membre QueryType de la structure D3DHAL_DP2CREATEQUERY.

Lorsque le pilote termine une requête de cache de vertex, le pilote définit la taille totale de la mémoire tampon de réponse dans le membre dwErrorOffset de la structure D3DHAL_DRAWPRIMITIVES2DATA et définit le membre ddrval de D3DHAL_DRAWPRIMITIVES2DATA sur D3D_OK pour la réussite. Le pilote remplace également la mémoire tampon de commande entrante avec la mémoire tampon de réponse sortante. Cette mémoire tampon de réponse contient une structure D3DHAL_DP2RESPONSEQUERY qui identifie une réponse pour la requête de cache de vertex. Cette D3DHAL_DP2RESPONSEQUERY est suivie des données du cache de vertex dans la structure D3DDEVINFO_VCACHE.

Exigences

Exigence Valeur
d’en-tête d3d9types.h (include D3d9types.h)

Voir aussi

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState