다음을 통해 공유


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를 사용하여 가져올 수 있습니다. pDataNULL인 경우 0이어야 합니다.

[in] GetDataFlags

형식: UINT

선택적 플래그입니다. 0 또는 D3D10_ASYNC_GETDATA_FLAG 열거된 플래그의 조합일 수 있습니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그렇지 않으면 가능한 반환 값은 다음과 같습니다.

  • S_FALSE
  • DXGI_ERROR_DEVICE_REMOVED
  • DXGI_ERROR_INVALID_CALL

설명

GetDataID3D10Asynchronous::Begin 및 ID3D10Asynchronous::End 호출 간에 수집된 데이터를 검색합니다. 특정 쿼리에는 ID3D10Asynchronous::End 호출만 필요합니다. 이 경우 GetData 에서 반환된 데이터는 ID3D10Asynchronous::End 에 대한 마지막 호출까지 정확합니다( ID3D10Query 인터페이스 참조).

DataSize가 0인 경우 GetData는 S_OK 반환 값이 애플리케이션에 데이터를 제공할 수 있음을 나타내고 S_FALSE 반환 값은 데이터를 아직 사용할 수 없음을 나타내는 검사 상태 데만 사용됩니다.

플래그 D3D10_QUERY_MISCFLAG_PREDICATEHINT 사용하여 만든 조건자에서 이 함수를 호출하는 것은 유효하지 않습니다.

이 함수를 호출하는 비동기 인터페이스가 ID3D10Query 인터페이스인 경우 다음 표가 적용됩니다.

쿼리 유형 출력 데이터 형식 Begin 메서드 지원
D3D10_QUERY_EVENT BOOL 아니요
D3D10_QUERY_OCCLUSION UINT64 YES
D3D10_QUERY_TIMESTAMP UINT64 아니요
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 카운터에서 반환되는 값은 비디오 카드 있는 병렬 카운터 수에 따라 다를 수 있으며 이러한 값은 다음 수식으로 해석할 수 있습니다.

병렬 카운터 수를 해석하는 수식

비디오 카드 있는 병렬 카운터 수는 D3D10_COUNTER_INFONumDetectableParallelUnits에서 사용할 수 있으며 ID3D10Device::CheckCounterInfo를 호출하여 검색할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d10.h
라이브러리 D3D10.lib

추가 정보

ID3D10Asynchronous 인터페이스