DirectX 11 与 DirectX 12:哪个更适合游戏?
已发表: 2023-04-01在 PC 上玩游戏时选择使用的 DirectX 版本可能会对性能产生重大影响。 但仅仅因为 DirectX 12 更新,是否意味着它始终是最佳选择? 让我们看看 DirectX 11 和 12 之间的差异,并探索哪个版本更适合游戏。
什么是 DirectX?
DirectX 11 与 12:有何区别?
DX 11 或 DX 12 更适合游戏吗?
我应该使用哪个 DirectX?
经常问的问题
什么是 DirectX?
DirectX 是 Microsoft 创建的 API(应用程序编程接口)的集合,并作为 Windows 操作系统的一部分包含在内。 API 套件包括 Direct3D、DirectPlay、DirectSound、DirectDraw 等。 它旨在帮助游戏开发人员确保他们的软件能够与尽可能多的不同硬件配置一起工作。
游戏开发人员无需为多个图形、视频和声音硬件组件提供单独的驱动程序,而是可以专注于 DirectX 兼容性的编程,并且知道他们的软件可以正常工作。 例如,无论最终用户是否拥有 Radeon RX 7900 而不是 Geforce RTX 3060。
这种软件和硬件之间接口的标准化是 PC 游戏在过去 20 多年里蓬勃发展的关键。 尽管可以使用其他 API 套件,包括 Vulkan 和 OpenGL,但过去二十年几乎所有成功的游戏都使用或支持 DirectX。
DirectX 11 与 12:有何区别?
DX 11 和 DX 12 之间主要的,也许是最重要的区别是它们与您的硬件交互的级别。
DirectX 12 使用低级 API,它们在接近硬件的软件层中运行。 这意味着它可以更直接地控制 GPU,并且可以更高效地工作。 DirectX 11 是一个高级 API,这意味着虽然它仍然可以访问 GPU 和其他硬件,但它被移除了更多,并且只对优化进行了更广泛的控制。
对硬件优化的低级别访问使 DirectX 12 的使用更加困难和耗时。 这可能就是为什么尽管 DX 12 于 2015 年发布,但仍在为更简单且通常更稳定的 DirectX 11 开发游戏。
查看 DX 11 与 12 时要考虑的第二个区别是 CPU 核心利用率。 长期以来,游戏玩家几乎没有理由选择四核以上的 CPU,因为游戏开发者很难开发出能够有效利用多核的游戏。 借助 DirectX 12,Microsoft 通过在 API 中构建对多核处理的支持来解决该问题。 使用 DX 12 玩游戏时,更多内核意味着更好的性能。
访问多个内核的能力与 DX 12 中的另一个新功能相结合:并行计算。 在DirectX 11中,操作以线性队列进行,纹理压缩、物理模拟、阴影生成、CPU数据上传等功能依次发生。 DirectX 12 允许这些类型的操作在多个线程中并行执行,从而显着提高效率。
DirectX 12 还引入了异步计算。 这允许在不等待前一个完成的情况下执行操作。 例如,生成游戏内阴影的过程可以在纹理压缩操作完成之前执行。
通过使用并行和异步计算实现的微小优化(可能每秒数百次)加起来构成了 DX 11 和 DX 12 之间差异的核心。简而言之,DirectX 12 在游戏软件之间的通信方面效率更高和 PC 硬件。
DX 11 或 DX 12 更适合游戏吗?
总的来说,使用 DirectX 12 时你会看到更好的游戏性能。它在软件和兼容硬件之间的优化和效率方面比 DirectX 11 有了很大的进步,任何被编程为充分利用的游戏都可以运行比使用旧 API 时更好。
您可能不会在每款游戏中看到相同水平的性能提升,主要是因为并非每款游戏都需要或可以使用 DX 12 提供的那种低级优化。 NVIDIA 建议将 DirectX 12 与 RTX 3090 一起使用可以将刺客信条瓦尔哈拉的帧速率提高 24%,将赛博朋克 2077的帧速率提高 20% 超过 DX 11。然而孤岛惊魂 6和全境封锁 2仅提高了 5%。
DirectX 12 还支持更广泛的高级 GPU 功能,例如光线追踪和 VRS(可变速率着色)。如果游戏和您的显卡可以使用这些效果,选择 DX 12 无疑会给您更好的视觉体验。
我应该使用哪个 DirectX?
并非所有游戏都让您在使用 DirectX 11 和 12 之间进行选择。事实上,提供选择的游戏数量仍然很少。 甚至与 DirectX 12 兼容的游戏在首次安装时通常也会默认为 DirectX 11。 DirectX 11 甚至可能是旧 PC 硬件上更好的选择,纯粹是为了避免兼容性问题。
但大多数 PC 游戏玩家会在可用时切换到 DirectX 12,从而看到性能提升,尤其是帧速率。 如果可以在游戏内设置中进行选择,则值得尝试两个版本以查看最佳效果。
经常问的问题
我有什么 DirectX?
如果您使用的是 Windows 10 或 11,则您的计算机上应该装有 DirectX 12。 它包含在两个操作系统中。 您可以通过打开“运行”对话框并键入“dxdiag”来打开 DirectX 诊断工具来进行检查。
我需要安装 DirectX 12 吗?
不,您通常不需要手动安装 DirectX 12,因为它随 Windows 一起提供。 如果游戏需要特定版本的 DirectX 12 才能运行,则在安装游戏时会提示您安装它。 您还可以在新版本可用时更新 DirectX。
DirectX 12 会提高帧率吗?
只要游戏开发人员正确实施了 DirectX 12,使用它应该会产生更高的帧速率。 您不太可能看到 FPS 神奇地翻倍,但比 DX 11 增加 20-25% 的情况并不少见。
什么是 DirectX 12 Ultimate?
DirectX 12 Ultimate 是 DirectX 12 的最新版本,于 2020 年发布。它旨在成为跨 Windows 和 Xbox 游戏机的统一 API 库,并引入了多项新功能,包括 DirectX 光线追踪和网格着色。 并非所有显卡都支持 DirectX 12 Ultimate,因此可用性取决于您的硬件。
相关: Windows 11、Windows 10 和 Xbox 上的 DirectStorage 是什么?