структура 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

Значение UINT, указывающее количество раз, когда установленный клиентский драйвер OpenGL (ICD) вызывал функцию D3DKMTPresent на устройстве отрисовки или цепочке буферов. После достижения максимального значения PresentCount начинается с нуля. При создании нового устройства отрисовки PresentCount инициализируется равным нулю. Операционная система поддерживает текущее значение счетчика для каждой создаваемой цепочки буферов.

[out] PresentRefreshCount

Значение UINT, указывающее количество раз, когда контроллер дисплея выводит новый видеокадр, который происходит в начале каждого периода вертикального отката. Операционная система поддерживает текущее значение счетчика обновления для каждого вывода видеоадаптера в операционной системе. PresentRefreshCount инициализируется неопределенным значением.

[out] SyncRefreshCount

Значение UINT, указывающее количество последних записей сведений о времени в элементах SyncQPCTime и SyncGPUTime .

[out] SyncQPCTime

Время вычислительной единицы (ЦП), в которое выводился текущий видеокадр (т. е. время ЦП, с которым началось вертикальное восстановление).

[out] SyncGPUTime

Время графической обработки (GPU), в которое выводился текущий видеокадр (т. е. время gpu, когда началось вертикальное восстановление).

Комментарии

Когда текущая операция прекращается, операционная система поддерживает соответствие (сопоставление) между значением в PresentCount и значением в PresentRefreshCount; то есть, когда операционная система завершает текущую операцию в качестве отсканированного видеокадра, значение в PresentRefreshCount , с которым была завершена текущая операция, связано со значением в PresentCount текущей операции, снятой с учета.

Операционная система хранит сведения о времени в устройстве отрисовки и связывает их с выходными данными дисплея. Когда GPU может поддерживать время GPU (SyncGPUTime), время GPU работает с частотой, определяемой устройством. Чтобы позволить приложениям связывать время GPU с другими операциями в системе, операционная система поддерживает соответствие времени GPU и времени ЦП (SyncQPCTime). Если GPU не может поддерживать такое время GPU, операционная система поддерживает только время ЦП, а соответствующее время GPU всегда равно нулю.

Представленная статистика не может работать для устройств с оконным режимом. Для оконного режима каждому элементу структуры присваивается нулевое значение.

Примечание Операционная система может не обновлять элементы SyncRefreshCount, SyncQPCTime и SyncGPUTime для каждого кадра.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Верхняя часть d3dkmthk.h (включая D3dkmthk.h)

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

D3DKMTPresent

D3DKMT_DEVICEPRESENT_STATE