Поделиться через


Метод ID3D10Asynchronous::GetData (d3d10.h)

Асинхронное получение данных из GPU.

Синтаксис

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

Параметры

[out] pData

Тип: void*

Адрес памяти, в которую будут поступать данные. Если значение РАВНО NULL, GetData будет использоваться только для проверка состояния. Тип выходных данных зависит от типа асинхронного интерфейса. См. заметки.

[in] DataSize

Тип: UINT

Размер извлекаемых данных или 0. Это значение можно получить с помощью ID3D10Asynchronous::GetDataSize. Значение должно быть равно 0, если pData равно NULL.

[in] GetDataFlags

Тип: UINT

Необязательные флаги. Может иметь значение 0 или любое сочетание флагов, перечисляемых D3D10_ASYNC_GETDATA_FLAG.

Возвращаемое значение

Тип: HRESULT

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возможны следующие возвращаемые значения:

  • S_FALSE
  • DXGI_ERROR_DEVICE_REMOVED
  • DXGI_ERROR_INVALID_CALL

Комментарии

GetData извлекает данные, собранные между вызовами ID3D10Asynchronous::Begin и ID3D10Asynchronous::End. Для некоторых запросов требуется только вызов ID3D10Asynchronous::End . В этом случае данные, возвращаемые GetData , точны до последнего вызова ID3D10Asynchronous::End (см. интерфейс ID3D10Query).

Если DataSize имеет значение 0, GetData используется только для проверка состояния, в котором возвращаемое значение S_OK указывает, что данные доступны для передачи приложению, а возвращаемое значение S_FALSE указывает, что данные еще недоступны.

Недопустимо вызывать эту функцию для предиката, созданного с флагом D3D10_QUERY_MISCFLAG_PREDICATEHINT.

Если асинхронный интерфейс, вызывающий эту функцию, — id3D10Query Interface, то применяется следующая таблица.

Тип запроса Тип выходных данных Поддерживает метод Begin
D3D10_QUERY_EVENT BOOL NO
D3D10_QUERY_OCCLUSION UINT64 YES
D3D10_QUERY_TIMESTAMP UINT64 NO
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
 

Если асинхронным интерфейсом, вызывающим этот API, является интерфейс ID3D10Counter, применяется следующее.

Тип счетчика Тип выходных данных единиц(ы)
D3D10_COUNTER_GPU_IDLE FLOAT32 доля времени
D3D10_COUNTER_VERTEX_PROCESSING FLOAT32 доля времени
D3D10_COUNTER_GEOMETRY_PROCESSING FLOAT32 доля времени
D3D10_COUNTER_PIXEL_PROCESSING FLOAT32 доля времени
D3D10_COUNTER_OTHER_GPU_PROCESSING FLOAT32 доля времени
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION FLOAT32 доля теоретического максимума
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION FLOAT32 доля теоретического максимума
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION FLOAT32 доля теоретического максимума
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION FLOAT32 доля теоретического максимума
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION FLOAT32 доля теоретического максимума
D3D10_COUNTER_VS_MEMORY_LIMITED FLOAT32 доля времени
D3D10_COUNTER_VS_COMPUTATION_LIMITED FLOAT32 доля времени
D3D10_COUNTER_GS_MEMORY_LIMITED FLOAT32 доля времени
D3D10_COUNTER_GS_COMPUTATION_LIMITED FLOAT32 доля времени
D3D10_COUNTER_PS_MEMORY_LIMITED FLOAT32 доля времени
D3D10_COUNTER_PS_COMPUTATION_LIMITED FLOAT32 доля времени
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE FLOAT32 дробь
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE FLOAT32 дробь
 

Значение, возвращаемое счетчиком D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING или D3D10_COUNTER_OTHER_GPU_PROCESSING, может отличаться в зависимости от количества параллельных счетчиков, существующих в карта видео, и эти значения можно интерпретировать с помощью следующей формулы:

Уравнение для интерпретации числа параллельных счетчиков

Число параллельных счетчиков, доступных в карта видео, доступно в NumDetectableParallelUnits в D3D10_COUNTER_INFO, и его можно получить, вызвав ID3D10Device::CheckCounterInfo.

Требования

Требование Значение
Целевая платформа Windows
Header d3d10.h
Библиотека D3D10.lib

См. также раздел

ID3D10Asynchronous Interface