Método ID3D10Asynchronous::GetData (d3d10.h)

Obter dados da GPU de forma assíncrona.

Sintaxe

HRESULT GetData(
  [out] void *pData,
  [in]  UINT DataSize,
  [in]  UINT GetDataFlags
);

Parâmetros

[out] pData

Tipo: void*

Endereço de memória que receberá os dados. Se NULL, GetData será usado apenas para marcar status. O tipo de saída de dados depende do tipo de interface assíncrona. Consulte Observações.

[in] DataSize

Tipo: UINT

Tamanho dos dados a serem recuperados ou 0. Esse valor pode ser obtido com ID3D10Asynchronous::GetDataSize. Deve ser 0 quando pData é NULL.

[in] GetDataFlags

Tipo: UINT

Sinalizadores opcionais. Pode ser 0 ou qualquer combinação dos sinalizadores enumerados por D3D10_ASYNC_GETDATA_FLAG.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, os valores retornados possíveis são os seguintes:

  • S_FALSE
  • DXGI_ERROR_DEVICE_REMOVED
  • DXGI_ERROR_INVALID_CALL

Comentários

GetData recupera os dados coletados entre chamadas para ID3D10Asynchronous::Begin e ID3D10Asynchronous::End. Determinadas consultas exigem apenas uma chamada para ID3D10Asynchronous::End , caso em que os dados retornados por GetData são precisos até a última chamada para ID3D10Asynchronous::End (consulte Interface ID3D10Query).

Se DataSize for 0, GetData só será usado para marcar status em que um valor retornado de S_OK indica que os dados estão disponíveis para dar a um aplicativo e um valor retornado de S_FALSE indica que os dados ainda não estão disponíveis.

É inválido invocar essa função em um predicado criado com o sinalizador D3D10_QUERY_MISCFLAG_PREDICATEHINT.

Se a interface assíncrona que chama essa função for ID3D10Query Interface, a tabela a seguir se aplicará.

Tipo de consulta Tipo de dados de saída Dá suporte ao método Begin
D3D10_QUERY_EVENT BOOL Não
D3D10_QUERY_OCCLUSION UINT64 YES
D3D10_QUERY_TIMESTAMP UINT64 Não
D3D10_QUERY_TIMESTAMP_DISJOINT D3D10_QUERY_DATA_TIMESTAMP_DISJOINT YES
D3D10_QUERY_PIPELINE_STATISTICS D3D10_QUERY_DATA_PIPELINE_STATISTICS YES
D3D10_QUERY_OCCLUSION_PREDICATE BOOL YES
D3D10_QUERY_SO_STATISTICS D3D10_QUERY_DATA_SO_STATISTICS YES
D3D10_QUERY_SO_OVERFLOW_PREDICATE BOOL YES
 

Se a interface assíncrona que chama essa API for ID3D10Counter Interface, o seguinte se aplicará.

Tipo de contador Tipo de dados de saída Unidades
D3D10_COUNTER_GPU_IDLE FLOAT32 fração de tempo
D3D10_COUNTER_VERTEX_PROCESSING FLOAT32 fração de tempo
D3D10_COUNTER_GEOMETRY_PROCESSING FLOAT32 fração de tempo
D3D10_COUNTER_PIXEL_PROCESSING FLOAT32 fração de tempo
D3D10_COUNTER_OTHER_GPU_PROCESSING FLOAT32 fração de tempo
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION FLOAT32 fração do máximo teórico
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION FLOAT32 fração do máximo teórico
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION FLOAT32 fração do máximo teórico
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION FLOAT32 fração do máximo teórico
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION FLOAT32 fração do máximo teórico
D3D10_COUNTER_VS_MEMORY_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_VS_COMPUTATION_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_GS_MEMORY_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_GS_COMPUTATION_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_PS_MEMORY_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_PS_COMPUTATION_LIMITED FLOAT32 fração de tempo
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE FLOAT32 fração
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE FLOAT32 fração
 

O valor retornado por um contador D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING ou D3D10_COUNTER_OTHER_GPU_PROCESSING pode ser diferente dependendo do número de contadores paralelos que existem em uma cartão de vídeo e esses valores podem ser interpretados com a seguinte equação:

Equação para interpretar o número de contadores paralelos

O número de contadores paralelos que um vídeo cartão tem está disponível em NumDetectableParallelUnits no D3D10_COUNTER_INFO e pode ser recuperado chamando ID3D10Device::CheckCounterInfo.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d10.h
Biblioteca D3D10.lib

Confira também

ID3D10Asynchronous Interface