为什么每个PC游戏都安装自己的DirectX副本?

DirectX是Windows操作系统的一部分。那么,为什么从Steam,Origin或其他地方安装的每个PC游戏看起来都安装了自己的DirectX副本?

什么是DirectX?

DirectX是Microsoft Windows的一部分。开发人员可以使用一组API(应用程序编程接口)在Windows上实现3D图形,视频,多媒体,声音和游戏手柄功能。 Windows上的许多游戏都将DirectX的Direct3D用于图形。如果没有,他们将使用跨平台的OpenGL或Vulkan API。其他非游戏应用程序可能会将DirectX用于3D图形之类的功能。

Windows 7包括DirectX 11,Windows 10包括DirectX12。开发人员在开发游戏时,会选择要定位的DirectX版本。例如,仅为DirectX 11编写的游戏无法在Windows XP上运行,而Windows XP的最新可用版本是DirectX 9。

有关的:如何在Windows中使用DirectX诊断

通过单击“开始”按钮,在搜索框中键入“ dxdiag”,然后按Enter,可以检查系统上可用的DirectX版本。当出现DirectX诊断工具窗口时,您会看到版本号显示在“系统信息”下“ DirectX版本”的右侧。

如果Windows附带了它,为什么要安装游戏?

因此,如果DirectX是Windows的一部分,为什么游戏还要首先安装它?简短的答案是DirectX安装是一团糟。

不仅依赖于DirectX Direct3D库游戏,甚至还很少。游戏开发人员必须针对Direct3D帮助程序库的确切版本。无法使用该库的最新版本。例如,如果游戏开发人员将他们的游戏定位于d3ddx10_40.dll,则该游戏将无法使用d3ddx10_41.dll。它需要版本40,并且只有该文件才能使用。

您可以在系统上的C:\ Windows \ System32文件夹中找到这些文件。在64位系统上,64位库位于C:\ Windows \ System32中,而32位库位于C:\ Windows \ SysWOW64中。

即使您已经运行了最新的DirectX安装程序,也无法保证它将在您的系统上安装DirectX库的所有较旧的次要版本。微软还选择了不将这些Direct3D库文件与Windows本身捆绑在一起。例如,即使Windows 10发行之前创建的Direct3D库也未全部包含在Windows 10中。它们必须由需要它们的应用程序安装。正如Microsoft在面向游戏开发人员的文档中指出的那样,“ Windows Update和Service Pack不提供DirectX的任何可选组件”。

它甚至比这更复杂。 32位游戏需要32位版本的库文件,而64位游戏需要64位库。

有关的:为什么我的PC上安装了这么多“ Microsoft Visual C ++可再发行组件”?

这类似于Microsoft Visual C ++可再发行库的情况。不同的应用程序取决于库的不同版本,并且您需要安装许多不同的版本。您也很有可能在系统上也安装了许多此类软件。

但是,为什么每个PC游戏都必须重新安装它?

好的,因此每个游戏都必须安装所需的DirectX库的确切次要版本。但是,如果您已经安装了特定版本的DirectX库,则肯定游戏不需要运行DirectX安装程序,对吗?

错误的。游戏无法轻松检查是否安装了所需的正确DirectX库。如Steam的支持网站所述,Microsoft DirectX安装程序是检查当前是否安装了正确的DirectX文件的唯一受官方支持的方法。游戏通常在后台运行DirectX安装程序,该安装程序将安装所有必需的库并修复系统上的任何问题。

DirectX安装程序也是Microsoft允许开发人员分发这些文件的唯一方法。开发人员无法通过直接在您的系统上删除DirectX库并跳过安装程序来变得聪明,否则他们将违反MIcrosoft的软件许可。即使他们尝试过此操作,也可能会遇到各种错误。这就是为什么没有人这样做的原因。

当然,并不是所有的游戏在首次启动时都必须运行DirectX安装程序。使用OpenGL或Vulkan而不是DirectX的Direct3D的游戏将不需要运行它。有些游戏也仅依赖于DirectX的主要版本,例如DirectX 11、10或9,并且不需要调用DirectX安装程序,因为它们不使用任何这些帮助程序库。

我可以删除其中一些图书馆吗?

您不应删除System32文件夹或SysWOW64文件夹中的任何DirectX库。如果它们存在于您的系统中,那是因为您安装的游戏或其他应用程序需要它们。如果您开始删除库文件,则应用程序可能会中断。无法真正确定系统上的哪些游戏需要哪些DirectX库文件,因此也无法知道可以安全删除哪些文件。

别管他们!原因是没有官方支持的方式来卸载这些库文件。它们不会对您的系统造成任何问题,只会由需要它们的应用程序使用。

如果您真的很想清理这些旧库,最好重新安装Windows以获取一个全新的系统,而不是随机删除库文件。但是无论如何,它们将在您安装游戏后重新出现在这里。不用担心

如果遇到DirectX问题怎么办?

如果您在尝试运行或安装游戏时看到与DirectX相关的错误消息,则可能是游戏的安装程序未正确运行其随附的DirectX可重新分发的安装程序。不过,您不仅可以从Microsoft网站下载DirectX安装程序,还需要运行游戏本身所需的安装程序。

您可能可以进入系统或游戏安装光盘上的游戏文件夹,找到DIrectX installer .exe文件,然后运行它以解决问题。该文件通常称为DXSETUP.exe。

通常,您可以通过网络搜索游戏或应用程序的名称以及看到的特定DirectX错误消息来获取有关如何解决问题的更多信息。


$config[zx-auto] not found$config[zx-overlay] not found