DirectX 11 与 DirectX 12:有何区别?

如果您是 Windows PC 游戏玩家,那么知道 DirectX 12DirectX 11 为了充分利用您最喜爱的视频游戏,这一点非常重要。 现在,大多数人会说 DirectX 12 更好,因为它有更高的数字,但事情通常并不那么简单。

DirectX 12 于 2015 年与 Windows 10 一起发布。微软声称它是迄今为止最好的 DirectX 版本,它可能会为游戏玩家开创一个新时代。 这是因为它能够提高 GPU 性能,同时降低 CPU 开销。

问题是,提高计算机的性能并不像切换到新版本的 DirectX 那样容易。 或者也许是,所以让我们找出这里到底发生了什么。

DirectX 11 与 DirectX 12

两个版本的 DirectX 都很棒,但 DirectX 12 是较新的版本,因此它具有 DirectX 11 中没有的功能。但是,确定哪个版本更好并不那么简单。

Microsoft 的 DirectX 是什么?

因此,DirectX 是为处理与多媒体相关的任务而设计的关键 API 的集合。 这可能包括在 Windows、Xbox 和任何其他基于 Microsoft 的平台上编写视频游戏。

DirectX 11 与 DirectX 12 之间有何区别?

DirectX 12 能够在更高级的水平上与您的计算机硬件进行交互。 为了 example,DirectX 12 旨在将 CPU 工作负载分散到其他核心,但不仅如此,它还可以让每个核心同时与 GPU 进行通信。

另一方面,DirectX 11 只允许游戏使用两个和四个 CPU 内核。 在许多情况下,最大数量为三个,因为其中一个内核用于向 GPU 指示指令。

当涉及花哨的花哨功能时,DirectX 12 在这里胜任。 这包括管道状态对象 (PSO) 和异步计算。 您会看到,异步计算允许 GPU 并行处理多个工作负载,从而提高了 GPU 的利用率。

这里的希望是释放 GPU 的全部潜力,尽管这取决于 GPU 是否支持 DirectX 12,因为并非所有人都支持。 不用担心,因为 2015 年之后发布的所有 GPU 都支持 DirectX 12,所以如果您当前硬件的使用年限符合该特定日期,那么一切都很好。

除了渲染图形之外,您的 GPU 还负责处理范围广泛的关键任务。 为了 example,运行机器学习算法需要 GPU。 现在,如果在机器学习情况下使用 DirectX 11,它只能按特定顺序一个接一个地执行任务。 每当发生这种情况时,性能往往会受到影响,因为与 GPU 相关的所有资源都没有被使用。

DirectX 12 通过使用异步计算解决了这个问题,因此正如预期的那样,GPU 的使用率得到了最大化,因此,您的游戏性能将会提高。

此外,我们应该注意到 DirectX 12 是第一个将 PSO 引入大众的版本。 对于那些想知道的人来说,PSO 是解释整个图形管道状态的对象。 您会看到,PSO 就像一个瓶子,其中包含图像创建所需的每个状态和组件。 所以从本质上讲,这将使 GPU 可以预处理所有依赖状态,而不必一直重新计算状态。

使用此功能时,与 DirectX 11 的处理方式相比,CPU 开销会显着降低。

您应该选择哪个,DirectX 12 还是 DirectX 11?

那么,值得回答的一个大问题是,哪个更好? 好吧,答案取决于您要玩的游戏。 有些游戏在构建时考虑了 DirectX 11,而更多现代游戏则以 DirectX 12 为焦点开发。

尽管如此,如果您不是那种喜欢玩旧视频游戏的人,那么 DirectX 12 是一个安全的选择,因为如今几乎所有新游戏都比以前的版本提供对 DirectX 12 的支持。

: 怎样使用 DirectX 诊断工具 (DxDiag) 进行故障排除

DirectX 12 会提高 FPS 吗?

根据游戏的不同,DirectX 12 可以在 FPS 方面提供改进。 赛博朋克 2077 等一些游戏在 1080p 下帧率提高了 20%,而刺客信条英灵殿在相同分辨率下成功提高了 25%。

如果我有 12 个,还需要 DirectX 11 吗?

DirectX 不是您可以单独安装的东西,这意味着无法在同一台计算机上分别安装 DirectX 11 和 DirectX 12。 由于 DirectX API 不向后或兼容,某些游戏或应用程序可能需要旧版本才能正常运行。