Método ID3D10Asynchronous::GetData (d3d10.h)
Obtenga datos de la GPU de forma asincrónica.
Sintaxis
HRESULT GetData(
[out] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
Parámetros
[out] pData
Tipo: void*
Dirección de la memoria que recibirá los datos. Si es NULL, GetData solo se usará para comprobar el estado. El tipo de salida de datos depende del tipo de interfaz asincrónica. Vea la sección Comentarios.
[in] DataSize
Tipo: UINT
Tamaño de los datos que se van a recuperar o 0. Este valor se puede obtener con ID3D10Asynchronous::GetDataSize. Debe ser 0 cuando pData es NULL.
[in] GetDataFlags
Tipo: UINT
Marcas opcionales. Puede ser 0 o cualquier combinación de las marcas enumeradas por D3D10_ASYNC_GETDATA_FLAG.
Valor devuelto
Tipo: HRESULT
Si esta función se ejecuta correctamente, devuelve S_OK. De lo contrario, los valores devueltos posibles son los siguientes:
- S_FALSE
- DXGI_ERROR_DEVICE_REMOVED
- DXGI_ERROR_INVALID_CALL
Comentarios
GetData recupera los datos recopilados entre llamadas a ID3D10Asynchronous::Begin e ID3D10Asynchronous::End. Algunas consultas solo requieren una llamada a ID3D10Asynchronous::End en cuyo caso los datos devueltos por GetData son precisos hasta la última llamada a ID3D10Asynchronous::End (vea ID3D10Query Interface).
Si DataSize es 0, GetData solo se usa para comprobar el estado en el que un valor devuelto de S_OK indica que los datos están disponibles para proporcionar a una aplicación y un valor devuelto de S_FALSE indica que los datos aún no están disponibles.
No es válido invocar esta función en un predicado creado con la marca D3D10_QUERY_MISCFLAG_PREDICATEHINT.
Si la interfaz asincrónica que llama a esta función es ID3D10Query Interface, se aplica la tabla siguiente.
Tipo de consulta | Tipo de datos de salida | Supports Begin (método) |
---|---|---|
D3D10_QUERY_EVENT | BOOL | No |
D3D10_QUERY_OCCLUSION | UINT64 | SÍ |
D3D10_QUERY_TIMESTAMP | UINT64 | No |
D3D10_QUERY_TIMESTAMP_DISJOINT | D3D10_QUERY_DATA_TIMESTAMP_DISJOINT | SÍ |
D3D10_QUERY_PIPELINE_STATISTICS | D3D10_QUERY_DATA_PIPELINE_STATISTICS | SÍ |
D3D10_QUERY_OCCLUSION_PREDICATE | BOOL | SÍ |
D3D10_QUERY_SO_STATISTICS | D3D10_QUERY_DATA_SO_STATISTICS | SÍ |
D3D10_QUERY_SO_OVERFLOW_PREDICATE | BOOL | SÍ |
Si la interfaz asincrónica que llama a esta API es ID3D10Counter Interface, se aplica lo siguiente.
Tipo de contador | Tipo de datos de salida | Unidades |
---|---|---|
D3D10_COUNTER_GPU_IDLE | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_VERTEX_PROCESSING | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_GEOMETRY_PROCESSING | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_PIXEL_PROCESSING | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_OTHER_GPU_PROCESSING | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION | FLOAT32 | fracción del máximo teórico |
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION | FLOAT32 | fracción del máximo teórico |
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION | FLOAT32 | fracción del máximo teórico |
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION | FLOAT32 | fracción del máximo teórico |
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION | FLOAT32 | fracción del máximo teórico |
D3D10_COUNTER_VS_MEMORY_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_VS_COMPUTATION_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_GS_MEMORY_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_GS_COMPUTATION_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_PS_MEMORY_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_PS_COMPUTATION_LIMITED | FLOAT32 | fracción de tiempo |
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE | FLOAT32 | fraction |
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE | FLOAT32 | fraction |
El valor devuelto por un contador de D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING o D3D10_COUNTER_OTHER_GPU_PROCESSING puede ser diferente según el número de contadores paralelos que existen en una tarjeta de vídeo y esos valores se pueden interpretar con la ecuación siguiente:
El número de contadores paralelos que tiene una tarjeta de vídeo está disponible en NumDetectableParallelUnits en D3D10_COUNTER_INFO y se puede recuperar llamando a ID3D10Device::CheckCounterInfo.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d10.h |
Library | D3D10.lib |