Compartir a través de


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
D3D10_QUERY_TIMESTAMP UINT64 No
D3D10_QUERY_TIMESTAMP_DISJOINT D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
D3D10_QUERY_PIPELINE_STATISTICS D3D10_QUERY_DATA_PIPELINE_STATISTICS
D3D10_QUERY_OCCLUSION_PREDICATE BOOL
D3D10_QUERY_SO_STATISTICS D3D10_QUERY_DATA_SO_STATISTICS
D3D10_QUERY_SO_OVERFLOW_PREDICATE BOOL
 

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:

Ecuación para interpretar el número de contadores paralelos

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

Consulte también

Id3D10Asynchronous (Interfaz)