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

另请参阅