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
计算机处理单元 (CPU) (输出当前视频帧的时间,即垂直回溯开始) CPU 时间。
[out] SyncGPUTime
图形处理单元 (GPU) (输出当前视频帧的时间,即垂直回溯) 开始的 GPU 时间。
注解
当当前操作停用时,操作系统在 PresentCount 中的值和 PresentRefreshCount 中的值之间保持对应 (映射) ;也就是说,当操作系统以扫描的视频帧的形式完成当前操作时,完成当前操作时使用的 PresentRefreshCount 中的值与已停用的当前操作的 PresentCount 中的值相关联。
操作系统在呈现设备中维护计时信息,并将计时信息与显示输出相关联。 当 GPU 可以保持 GPU 时间 (SyncGPUTime) 时,GPU 时间以特定于设备的频率运行。 为了让应用程序将 GPU 时间与系统中的其他操作相关联,操作系统 (SyncQPCTime) 维护 GPU 时间和 CPU 时间之间的对应关系。 当 GPU 无法维护此类 GPU 时间时,操作系统仅保留 CPU 时间,并且关联的 GPU 时间始终为零。
当前统计信息不适用于窗口模式设备。 对于窗口模式,每个结构成员都设置为零。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |