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