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 值,指示 SyncQPCTimeSyncGPUTime 成员中计时信息的最新捕获次数。

[out] SyncQPCTime

计算机处理单元 (CPU) (输出当前视频帧的时间,即垂直回溯开始) CPU 时间。

[out] SyncGPUTime

图形处理单元 (GPU) (输出当前视频帧的时间,即垂直回溯) 开始的 GPU 时间。

注解

当当前操作停用时,操作系统在 PresentCount 中的值和 PresentRefreshCount 中的值之间保持对应 (映射) ;也就是说,当操作系统以扫描的视频帧的形式完成当前操作时,完成当前操作时使用的 PresentRefreshCount 中的值与已停用的当前操作的 PresentCount 中的值相关联。

操作系统在呈现设备中维护计时信息,并将计时信息与显示输出相关联。 当 GPU 可以保持 GPU 时间 (SyncGPUTime) 时,GPU 时间以特定于设备的频率运行。 为了让应用程序将 GPU 时间与系统中的其他操作相关联,操作系统 (SyncQPCTime) 维护 GPU 时间和 CPU 时间之间的对应关系。 当 GPU 无法维护此类 GPU 时间时,操作系统仅保留 CPU 时间,并且关联的 GPU 时间始终为零。

当前统计信息不适用于窗口模式设备。 对于窗口模式,每个结构成员都设置为零。

注意 操作系统可能不会更新每个帧上的 SyncRefreshCountSyncQPCTimeSyncGPUTime 成员。
 

要求

要求
最低受支持的客户端 Windows Vista
标头 d3dkmthk.h (包括 D3dkmthk.h)

另请参阅

D3DKMTPresent

D3DKMT_DEVICEPRESENT_STATE