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 时间与系统中的其他作相关联,作系统在 GPU 时间和 CPU 时间(SyncQPCTime)之间保持对应关系。 当 GPU 无法维护此类 GPU 时间时,作系统只保留 CPU 时间,并且关联的 GPU 时间始终为零。
当前统计信息不适用于窗口模式设备。 对于开窗模式,每个结构成员都设置为零。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |