Windows 8.1 中的 DXGI 翻转?

问题描述

Windows 8.1 是否支持 dxgi 翻转模型? IE。 dxgi_SWAP_EFFECT_FLIP_SEQUENTIALdxgi_SWAP_EFFECT_FLIP_disCARD?我在网上看到相互矛盾的信息。

Link1link2 表示 Windows 8 至少支持 dxgi_SWAP_EFFECT_FLIP_SEQUENTIAL,但测试 dxgi 翻转模型支持的常用方法是:

ComPtr<IdxgiFactory4> factory4;
if (Failed(m_dxgiFactory.As(&factory4)))
{
    m_options &= ~c_FlipPresent;
}

这似乎在 Windows 8.1 上失败了。我将 Visual Studio 2019 与 Windows SDK 版本 10.0.14393.0 一起使用。这是我的 GPU 信息:

GPU info

作为快速检查,我运行了来自 XBox-ATG-Samples / directxtk 的 SimpleInstancingPC 示例。它指出:

INFO: Flip swap effects not supported
Direct3D Adapter (0): VID:10DE,PID:1F82 - NVIDIA GeForce GTX 1650

如果 dxgi_SWAP_EFFECT_FLIP_SEQUENTIAL 实际上受 Windows 8.1 支持,但 dxgi_SWAP_EFFECT_FLIP_disCARD 不支持,鉴于 IdxgiFactory4 方法失败,检查此功能的正确方法是什么?

解决方法

“使用翻转模型”blog post 中讨论的优化工作仅适用于 Windows 10,因此最好坚持使用旧版 blit,并将 Windows 8.x 和 Windows 7 一视同仁。

>

对于 Windows 8.x,DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL 的主要且唯一真正的用途是 Windows 应用商店应用。

考虑到 Steam 硬件调查的数字,游戏开发者现在不太担心 Windows 8.x 的背景是:总数不到 1%。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...