DXGIDisableVBlankVirtualization 函数 (dxgi1_6.h)
为进程禁用 v-blank 虚拟化。 默认情况下,此虚拟化由动态刷新率 (DRR) 功能用于所有交换链,以保持 IDXGIOutput::WaitForVBlank 中稳定的虚拟化当前速率和 v 空白节奏。 通过禁用虚拟化,这些 API 将看到不断变化的刷新率。
语法
HRESULT DXGIDisableVBlankVirtualization();
返回值
类型: HRESULT
如果成功,则返回 S_OK ;否则为错误代码。 有关错误代码的完整列表,请参阅 DXGI_ERROR。
注解
默认情况下,DXGI 交换链无法观察到由动态刷新率 (DRR) 功能导致的刷新率变化, (请参阅博客文章 动态刷新速率 — 获取两全其美) 。 相反,交换链会虚拟化,以便始终看到刷新率的一小部分-如果 DRR 模式为 120Hz,则为 60Hz。 DXGIDisableVBlankVirtualization 在整个过程中禁用该虚拟化。 然后,当系统在 60Hz 和 120Hz 之间提升时,应用程序将看到 v 空白计时发生更改,帧将在每个速率的相应时间到达,并显示反映这些更改的当前统计信息。
在创建任何交换链或调用 IDXGIOutput::WaitForVBlank 之前,应为每个进程调用 DXGIDisableVBlank 一次。 在进程的生存期内无法禁用它,因此 DRR 提升对 v-blank 计时或统计信息所做的任何更改都将对进程保持可观测性。
可以在 Compositor 时钟 主题中找到有关动态刷新率工作原理的详细信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11版本 22502 [仅限桌面应用] |
最低受支持的服务器 | Windows 11版本 22502 [仅限桌面应用] |
目标平台 | Windows |
标头 | dxgi1_6.h |
Library | dxgi.lib |
DLL | dxgi.dll |