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:
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 |