我最近读到一篇文章,提到DirectX 12独有的全屏窗口本质上是无边框全屏窗口,属于DWM的控制。鉴于 DWM 根据显示设置中选择的刷新率运行,这是否意味着无法在 DirectX 12 中配置具有与显示设置不同的刷新率的交换链?
在检查了来自微软的DirectX12示例后,我注意到他们没有指定全屏转换的刷新率。这让我假设全屏窗口使用 DWM 的刷新率。有人可以验证一下吗?
鉴于 DWM 根据显示设置中选择的刷新率运行,这是否意味着无法在 DirectX 12 中配置具有与显示设置不同的刷新率的交换链?
否,DWM 将以传递给 CreateSwapChainForHwnd 的 DXGI_SWAP_CHAIN_FULLSCREEN_DESC
指定的刷新率运行检查了来自微软的 DirectX12 示例后
该示例未使用全屏独占/优化。它只是无边框窗口(将使用 DWM 刷新率)。
您可以通过传递有效的指针而不是桌面示例中的 nullptr here 来使其成为 FSE。 UWP 无法实现 FSE。