系统极客一直在努力
专注于操作系统及软件使用教程

2016 关于 DirectX 你需要知道的一些事

everything-need-know-directx-2016-1

如果你跟我一样是一个 Windows 骨灰级用户和游戏玩家,应该对过去 15 年以来,在 Windows 中安装好游戏时就会提示是否升级到 DirectX 最新版本记忆犹新。你有没想过 Windows 为什么要提示进行 DirectX 升级呢?下面我们就来逐步揭晓答案。

什么是 DirectX

计算机其实是通过软件在与硬件进行交互,对于普通用户来说,你可能不太关心软件对硬件的操作和管理过程。软件的所有操作层面下,开发人员需要花费大量时间进行编程,以期让硬件资源的高效利用变成可能。

对于像 Xbox One 或 PlayStation 4 这样的游戏机来说,通常采用相同的处理器、显卡和内存等硬件,所以其操作系统都是相同的。例如 Xbox One 的游戏开发商已经明确知道将来会运行的硬件平台,所以可以有针对性的为硬件开发游戏,以利用好每个硬件特性和资源,提供最佳性能。

everything-need-know-directx-2016-2

然而,对于普通 PC 游戏开发而言,事情就不那么简单了。不同 PC 生产厂商和用户自行组装的兼容机会有不同的 CPU、显卡、主板和声卡等硬件,这样硬件平台就会有无数种不同的排列组合。那么,开发人员要如何确保能得到最好的性能呢?

这就是 DirectX 的用武之地了!DirectX 是一种应用程序编程接口(API),微软在 Windows 系统引入它之后,就可以让软件开发商(例如游戏厂商)更容易地与不同硬件组件进行交互。

everything-need-know-directx-2016-3

DirectX 大致分为如下三个部分:

  • Direct3D:用于显卡渲染 3D 对象
  • DirectDraw:用于显卡渲染 2D 对象
  • DirectSound:用于声卡更好地处理音频

简单点来说,DirectX 就是让游戏厂商在 Windows 中与不同硬件打交道的一个传话员和桥梁,不必再单独为不同硬件编写代码。

DirectX 与 OpenGL

与微软的 DirectX 类似,还有另一套被称为 OpenGL 的行业标准 API。其实无论 DirectX 还是 OpenGL,都是在做相类似的基本工作:让开发人员更容易与不同硬件进行交互。

虽然工作方式类似,但两项技术在实现上还是有一些根本区别。DirectX 让开发人员能够更多的控制硬件,让他们自行选择如何使用系统中的各种资源。而 OpenGL 的开发人员则必需遵循特定参数并相应地进行资源分配。

至于 DirectX 与 OpenGL 孰优孰劣,这么多年来一直是个争论不休的话题。对于普通消费用户来说其实不必关心这么多,只需要知道 DirectX 是为 Windows PC 提供,而 OpenGL 大多针对 Linux 游戏进行优化,例如 SteamOS

DirectX 12 有什么特别之处

Windows 10 是微软最新版本的操作系统,我们在之前的 Windwos 10隐藏特性Top 10 中就曾介绍过最新的 DirectX 12 也是其独有的最新版本。就目前的各种性能测试数据来看,Windows 10 中 DirectX 12 的性能远优于 Windows 8 支持的 DirectX 11,这应该也是微软劝用户升级的一种策略吧。

DirectX 12 的最大优点之一就在于多显示核心支持,现代 CPU 大多都是处理器与显示核心集成的统一芯片,既然 CPU 已经有了图形处理单元,为什么要浪费掉呢?DirectX 12 可以智能平衡计算机主显卡与 CPU 内置图形处理单元的负载,让显卡处理较大负荷而核显处理轻负载状态,以达到更好的图形和游戏渲染处理速度。

everything-need-know-directx-2016-4

需要注意的是目前 DirectX 12 还没被各大开发商广泛应用,而且不支持一些老旧硬件:

  • Nvidia 显卡需要 GTX400 及较新的基于 Fermi 架构的产品
  • AMD 显卡需要 HD7000、R5240 或较新的 基于GCN 架构的产品
  • 对于 Intel 板载显卡需要 Intel Haswell 或更高 CPU
  • 对于 AMD PC 板载显卡需要 AMD Kaveri、Mullins、Beema 或更高 CPU

如何查看和更新DirectX

要查看当前 Windows 中的 DirectX 版本步骤非常简单:

1 使用 Windows + R 快捷键打开「运行」

2 执行 dxdiag 命令并回车

3 在弹出的「DirectX 诊断工具」中即可看到当前 Windows 所使用的 DirectX 版本号。

everything-need-know-directx-2016-5

Windows 10 用户会是 DirectX 12 或 DirectX 11,Windows 7 和 Windows 8 应该为 DirectX 11,如果还有人在用 Windows XP,可能会看到 DirectX 9。如果你认为版本过老,可以从微软官网下载安装 DirectX 或通过 Windows Update 自动更新。

everything-need-know-directx-2016-6

此外还请大家到「DirectX 诊断工具」的「显示」选项卡查看 DirectDraw 加速Direct3D 加速AGP 纹理加速这 3 项目功能是否已启用。如果没启用的话说明当前硬件不支持,只能通过升级硬件来解决了。

分享到:更多 ()