DXGI 翻转模型锁定垂直同步

问题描述 投票:0回答:2

我发现使用翻转模型(DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL 或 DXGI_SWAP_EFFECT_FLIP_DISCARD)创建的交换链被锁定为 VSync(1/60 秒),调用 IDXGISwapChain1::Present1 方法并将 SyncInterval 设置为 0 如下不起作用。

swap_chain->Present1(0, 0, &param);

有人知道如何禁用 DXGI 翻转模型的垂直同步吗?

windows directx windows-10 directx-11 directx-12
2个回答
3
投票

您的 Windows 10 版本是什么?在 1511 版本之前,UWP 和窗口交换链过去总是锁定到 VSync。


0
投票

我知道这是很久以前的事了,但我找到了一个对我有用的解决方案。

在交换链上调用

Present()
时,应将
DXGI_PRESENT_ALLOW_TEARING
作为标志(第二个参数)传递。 为此,交换链需要设置
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING
标志。

根据微软的文档,它用于可变刷新率显示器。我想这是有道理的(在图形编程方面我仍然是一个新手)。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.