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.
typedef struct _D3DDEVINFO_VCACHE {
DWORD Pattern;
DWORD OptMethod;
DWORD CacheSize;
DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;
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.
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.
Exigence | Valeur |
---|---|
d’en-tête | d3d9types.h (include D3d9types.h) |
D3DDP2OP_CREATEQUERY
D3DDP2OP_ISSUEQUERY