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 en tant que valeur de code à quatre caractères (FOURCC) CACH. Le pilote peut utiliser la macro MAKEFOURCC comme suit pour spécifier la valeur FOURCC comme CACH :

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 requise 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 s’il 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 redémarrage de la liste de bandes. Ce nombre peut être défini à partir de 1 sur la valeur dans le membre CacheSize . En règle générale, les meilleures valeurs sont proches de CacheSize/2.

Remarques

Versions de DirectX 8.1 uniquement. Le runtime Direct3D appelle la fonction D3dGetDriverState d’un pilote pour obtenir des informations sur le cache de vertex à partir du pilote. Dans cet appel D3dGetDriverState , le runtime spécifie l’indicateur D3DDEVINFOID_VCACHE dans le membre dwFlags de la structure DD_GETDRIVERSTATEDATA que le runtime passe. Le pilote spécifie les informations de vertex-cache dans une structure de D3DDEVINFO_VCACHE et les retourne au membre lpdwStates 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 au rappel D3dDrawPrimitives2 du pilote pour créer des ressources côté pilote pour la requête, puis 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, il 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 pour D3D_OK pour une exécution réussie. Le pilote remplace également la mémoire tampon de commande entrante par 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 vertex-cache. Cette D3DHAL_DP2RESPONSEQUERY est suivie des données du cache de vertex dans la structure D3DDEVINFO_VCACHE.

Configuration requise

Condition requise Valeur
En-tête d3d9types.h (inclure D3d9types.h)

Voir aussi

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState