Steam 客服
每款游戏都需要安装 DirectX
为什么每款游戏都要安装 DirectX?

为什么每款游戏都要安装 DirectX?

微软有一个带有 D3D 的帮助程序库,叫做 D3DX。 您会在您的 Windows\\System32 文件夹中找到类似 dx9_43.dll 的二进制文件。 光是 D3D9 就有超过 40 种不同的 D3DX 程序库版本,而 D3D10 和 D3D11 则有更多。 每款使用 D3DX 帮助程序库的游戏均与一个特定的版本关联。 因此,游戏必须运行汇编时使用的正确 D3D 安装程序版本,才能确保相关的二进制文件存在。

即使已经安装了更高版本的二进制文件,该版本也不能被使用。即使您运行了较新版本的安装程序,使得您安装的 DirectX 是最新的版本,也无法保证安装了所有之前的版本。 此外,如果安装了适用于 x86 的版本,也无法保证安装了适用于 x64 的相同版本,因此 64 位和 32 位游戏可能需要运行完全相同的安装程序版本,但运行时针对的是不同的平台。

而且,Microsoft 的许可条款禁止任何人直接分发这些文件,分发它们的唯一方式就是运行这些安装程序,这也是 Microsoft 唯一支持的检验正确的版本已经安装的方法。 尝试手动检验正确的版本是复杂的,因为有大量的文件都必须存在,并各种系统配置选项如 DLL 搜索路径都使问题更加复杂化。 此外,依赖项和所需的检查可能会在每个新的 D3DX 运行时版本中变更。 安装程序中包含了所有正确进行检查并修复受损安装文件的代码,运行它能保证在您运行游戏时有正确的二进制文件存在,且能防止许多不良情况的发生,比如,若过去 Windows 上的安装文件缺失了正确版本或出于某种原因受到了损坏,则游戏会无法启动,并显示少有人知的错误。


为什么 Valve 的 Source 引擎游戏无需运行 DirectX 安装程序?

有些游戏不使用 D3DX 帮助程序(如 Source 引擎的游戏),所以不需要在首次启动时运行该安装程序,这些游戏仅需安装主要的 d3d9/10/11 版本即可。 但是,使用了 D3DX 的游戏必须运行该安装程序,因为 Microsoft 只允许这种方法来分发文件并检查文件上的版本信息。


需要 Steam 方面的帮助吗?
使用 Steam 帮助向导缩小提问范围并获取所需帮助。
社区帮助
在 Steam 讨论区发布问题,或搜索问题的答案。