D3DKMT_PRESENT_STATS 구조체(d3dkmthk.h)

D3DKMT_PRESENT_STATS 구조는 렌더링 디바이스에 대한 현재 상태 설명합니다.

구문

typedef struct _D3DKMT_PRESENT_STATS {
  [out] UINT                         PresentCount;
  [out] UINT                         PresentRefreshCount;
  [out] UINT                         SyncRefreshCount;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncQPCTime;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncGPUTime;
} D3DKMT_PRESENT_STATS;

멤버

[out] PresentCount

렌더링 디바이스 또는 스왑 체인에서 OpenGL ICD(설치 가능 클라이언트 드라이버)가 D3DKMTPresent 함수를 호출한 횟수를 나타내는 UINT 값입니다. 최대값에 도달하면 PresentCount 가 0에서 다시 시작됩니다. 새 렌더링 디바이스를 만들면 PresentCount 가 0으로 초기화됩니다. 운영 체제는 생성된 각 스왑 체인에 대한 현재 카운터를 유지 관리합니다.

[out] PresentRefreshCount

디스플레이 컨트롤러가 새 비디오 프레임을 출력하는 횟수를 나타내는 UINT 값으로, 각 세로 추적 기간의 시작 부분에서 발생합니다. 운영 체제는 운영 체제의 각 비디오 디스플레이 컨트롤러 출력에 대한 현재 새로 고침 카운터를 유지 관리합니다. PresentRefreshCount 는 지정되지 않은 값으로 초기화됩니다.

[out] SyncRefreshCount

SyncQPCTimeSyncGPUTime 멤버에서 타이밍 정보의 가장 최근 캡처 수를 나타내는 UINT 값입니다.

[out] SyncQPCTime

현재 비디오 프레임이 출력된 CPU(컴퓨터 처리 장치) 시간입니다(즉, 수직 추적이 시작된 CPU 시간).

[out] SyncGPUTime

현재 비디오 프레임이 출력된 GPU(그래픽 처리 장치) 시간입니다(즉, 수직 추적이 시작된 GPU 시간).

설명

현재 작업이 사용 중지되면 운영 체제는 PresentCount의 값과 PresentRefreshCount의 값 간에 대응(매핑)을 유지 관리합니다. 즉, 운영 체제가 검사된 비디오 프레임으로 현재 작업을 완료할 때 현재 작업이 완료된 PresentRefreshCount의 값은 사용 중지된 현재 작업의 PresentCount 값과 연결됩니다.

운영 체제는 렌더링 디바이스 내에서 타이밍 정보를 유지하고 타이밍 정보를 디스플레이 출력과 연결합니다. GPU가 GPU 시간(SyncGPUTime)을 유지할 수 있는 경우 GPU 시간은 디바이스별 빈도로 작동합니다. 애플리케이션이 GPU 시간을 시스템의 다른 작업과 연결하도록 하기 위해 운영 체제는 GPU 시간과 CPU 시간(SyncQPCTime) 간의 대응을 유지 관리합니다. GPU에서 이러한 GPU 시간을 유지할 수 없는 경우 운영 체제는 CPU 시간만 유지하고 연결된 GPU 시간은 항상 0입니다.

창 모드 디바이스에 대해 통계를 표시할 수 없습니다. 창 모드의 경우 각 구조체 멤버가 0으로 설정됩니다.

참고 운영 체제는 모든 프레임에서 SyncRefreshCount, SyncQPCTimeSyncGPUTime 멤버를 업데이트하지 않을 수 있습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
머리글 d3dkmthk.h(D3dkmthk.h 포함)

추가 정보

D3DKMTPresent

D3DKMT_DEVICEPRESENT_STATE