Compartilhar via


estrutura D3DDEVINFO_VCACHE (d3d9types.h)

Somente o DirectX 8.1 e versões posteriores.

A estrutura D3DDEVINFO_VCACHE descreve informações de cache de vértice de um dispositivo.

Sintaxe

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

Membros

Pattern

Especifica o padrão de bit. O driver deve especificar o padrão de bit como o valor do código de quatro caracteres CACH (FOURCC). O driver pode usar a macro MAKEFOURCC da seguinte maneira para especificar o valor FOURCC como CACH:

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

OptMethod

Especifica o método de otimização de malha. O driver pode usar um dos seguintes valores para especificar a otimização de malha que ele usa:

Valor Significado
D3DXMESHOPT_STRIPREORDER (0) Otimização de faixas mais longas
D3DXMESHOPT_VCACHE (1) Otimização baseada em cache de vértice

CacheSize

Especifica o tamanho efetivo, em entradas, para o qual o driver otimiza o cache de vértice. O tamanho real do cache não é necessário para ser o tamanho especificado no CacheSize porque, na maioria dos casos, o tamanho real do cache acaba sendo maior. O driver especificará apenas um tamanho otimizado no CacheSize se ele também especificar D3DXMESHOPT_VCACHE no membro OptMethod .

MagicNumber

Especifica o número que deve ser usado como parte de um procedimento de tentativa e erro ao determinar quando reiniciar a lista de faixas. Esse número pode ser definido de 1 para o valor no membro CacheSize . Normalmente, os melhores valores estão próximos de CacheSize/2.

Comentários

Somente versões do DirectX 8.1. O runtime do Direct3D chama a função D3dGetDriverState de um driver para obter informações de cache de vértice do driver. Nesta chamada D3dGetDriverState , o runtime especifica o sinalizador D3DDEVINFOID_VCACHE no membro dwFlags da estrutura DD_GETDRIVERSTATEDATA que o runtime passa. O driver especifica informações de cache de vértice em uma estrutura D3DDEVINFO_VCACHE e as retorna no membro lpdwStates do DD_GETDRIVERSTATEDATA.

Somente o DirectX 9.0 e versões posteriores. O runtime do Direct3D especifica comandos D3DDP2OP_CREATEQUERY e D3DDP2OP_ISSUEQUERY em chamadas para o retorno de chamada D3dDrawPrimitives2 do driver para criar recursos do lado do driver para a consulta e, em seguida, consultar de forma assíncrona o driver para obter informações de cache de vértice. Na chamada com o comando D3DDP2OP_CREATEQUERY, o runtime especifica o tipo de consulta D3DQUERYTYPE_VCACHE no membro QueryType da estrutura D3DHAL_DP2CREATEQUERY .

Quando o driver conclui uma consulta de cache de vértice, o driver define o tamanho total do buffer de resposta no membro dwErrorOffset da estrutura D3DHAL_DRAWPRIMITIVES2DATA e define o membro ddrval de D3DHAL_DRAWPRIMITIVES2DATA como D3D_OK para conclusão bem-sucedida. O driver também substitui o buffer de comando de entrada com o buffer de resposta de saída. Esse buffer de resposta contém uma estrutura D3DHAL_DP2RESPONSEQUERY que identifica uma resposta para a consulta de cache de vértice. Esse D3DHAL_DP2RESPONSEQUERY é seguido pelos dados de cache de vértice na estrutura D3DDEVINFO_VCACHE.

Requisitos

Requisito Valor
Cabeçalho d3d9types.h (inclua D3d9types.h)

Confira também

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState