Почему каждая игра на ПК устанавливает свой DirectX?

DirectX является частью операционной системы Windows. Так почему же каждая игра, устанавливаемая со Steam, Origin или другого источника, требует свою собственную копию DirectX?

Что такое DirectX?

DirectX является частью Windows. Это группа API, которую разработчики могут использовать для трехмерной графики, мультимедиа, звука и функций геймпада для Windows. Многие игры на Windows используют Direct3D DirectX для своей графики. Если не его, то они используют такие кроссплатформенные API, как OpenGL или Vulkan. Другое же, не игровое программное обеспечение, может использовать DirectX, например, для трехмерной графики.

Windows 7 включает в себя DirectX 11, а Windows 10 — DirectX 12. Когда разработчики разрабатывают компьютерные игры, они выбирают версию DirectX, на которую будет опираться их проект. Для примера, игра написанная только под DirectX 11 не будет работать на Windows XP, так как на ней доступен только DirectX 9 версии.

Вы можете проверить версию DirectX на вашей системе с помощью программы «Средство диагностики DirectX». Нажмите на клавиатуре Windows+R, впишите в пустую строку dxdiag и нажмите Enter. Перед вами появиться окошко с информацией о вашей системе. Найдите строчку «Версия DirectX» и увидите там необходимую для вас информацию.

Если DirectX уже включен в Windows, то почему игры устанавливают его?

Что же, если DirectX уже является частью Windows, то почему игры устанавливают и требуют его? Если кратко, то установка DirectX — это настоящий бардак.

В природе не существует какой-то одной определенной библиотеки DirectX Direct3D, на которую опираются все игры. Игровым разработчикам приходится нацеливаться на определенную версию вспомогательной библиотеки Direct3D. Нельзя просто использовать самые последние библиотеки и надеяться, что игра запуститься. Для примера, если разработчик игры нацелил ее на библиотеку d3ddx10_40.dll, то игра не может использовать библиотеку d3ddx10_41.dll. Ей потребуется 40-я версия и только она.

Вы можете найти эти библиотеки DirectX в своем компьютере по адресу C:\Windows\System32. На 64-битных системах, 64-битные библиотеки расположены по адресу C:\Windows\System32, а 32-битные в C:\Windows\SysWOW64.

Даже если вы запустите самый свежий установщик DirectX, то нет никакой гарантии, что он установит все ранее выпущенные вспомогательные библиотеки DirectX на вашу систему. Майкрософт также решила, что не станет аккумулировать все эти библиотеки Direct3D в самой Windows. Даже библиотеки Direct3D, созданные до выхода операционной системы Windows 10, не были включены в нее. Их нужно устанавливать с приложениями, которые в них нуждаются. Как Майкрософт заметили в документации, предназначенной для разработчиков игр, «Обновления Windows и Сервисные пакеты не предоставляют никаких опциональных компонентов DirectX».

Однако, все еще сложнее, чем кажется. 32-битные игры требуют библиотеки 32-битной разрядности, а 64-битные, соответственно, 64-битной разрядности. Похожая ситуация сложилась и с библиотеками Microsoft Visual Studio C++. Различные приложения полагаются на различные версии библиотек и вам нужно устанавливать их всех.

Но почему каждая ПК-игра переустанавливает их?

Ок, каждая игра требует установленных для себя вспомогательных версий библиотек DirectX, чтобы даже запуститься. Однако, если у вас уже установлена нужная версия библиотеки DirectX, то вам нет нужды запускать установщик DirectX, верно?

Неверно. Не существует способа, с помощью которого игры бы легко проверяли, установлены ли необходимые библиотеки DirectX в системе или нет. На сайте поддержки Steam указали, что официальный установщик DirectX от Майкрософт — это единственный способ проверить наличие необходимых библиотек DirectX. Игры запускают установщик DirectX, зачастую на заднем фоне, который устанавливает необходимые библиотеки, а также исправляет любые проблемы в системе, связанные с ними.

Установщик DirectX также является единственным способом, которым Майкрософт позволяет разработчикам распространять файлы данного программного обеспечения. Разработчики не могут как-то по хитрому устанавливать на вашу систему библиотеки DirectX, так как это будет считаться нарушением лицензии программного обеспечения Майкрософт. Помимо прочего, на пути бы встала преграда в виде кучи багов. Именно из-за указанных причин никто и не пытается устанавливать DirectX по другому.

Конечно же, не все игры в действительности должны запускать установщик DirectX, когда те впервые запускаются. Играм, которые используют OpenGL или Vulkan, нет нужды использовать библиотеки DirectX. Некоторые игры также полагаются только на главные версии DirectX 9, DirectX 10 и DirectX 11 и им нет нужды запускать установщик DirectX, так как им не требуются вспомогательные библиотеки.

Могу ли я удалить эти библиотеки?

Вы не должны удалять никаких библиотек DirectX из вашей папки System32 или SysWOW64. Если они присутствуют в системе, то это потому, что установленная вами игры или приложение требует для своей работы эти библиотеки. Если вы начнете удалять библиотеки из системы, то программы попросту не будут запускаться или же работать некорректно. Не существует способа точно определить, какая из библиотек DirectX требуется той или иной игре/программе на вашем компьютере. Исходя из этого, вы не сможете понять, какую из них можно спокойно удалять.

Совет: оставьте их в покое! Библиотеки DirectX попросту не могут причинять каких-то проблем для вашей системы. Они будут применяться только теми играми и программами, которые будут нуждаться в них. Если же вы так сильно хотите избавиться от них, от старых библиотек, то проще будет переустановить систему, нежели пытаться в случайном порядке удалять их. Однако, как только вы начнете устанавливать игры — они снова появятся в системе. Так что даже не заморачивайтесь.

Что делать, если у меня возникли проблемы с DirectX?

Если вы видите ошибку с сообщением, относящимся к DirectX, во время запуска или установки игры, то, возможно, что-то не так с установщиком DirectX, который был приложен с устанавливаемой игрой. Вы не можете просто пойти и скачать установщик DirectX с сайта Майкрософт, так как вам нужно запустить установщик, который требуется самой игре.

Вы можете попробовать пройти в директорию с игрой в вашей системе или на диске с установщиком игры, найти там установщик DirectX, который зачастую называется DXSETUP.exe, и запустить непосредственно его, не устанавливая игру, чтобы решить возникшую проблему.

Также вы можете получить больше информации о том, как решить проблему, выполнив поисковый запрос на имя игры или приложения и сообщения, указанного в ошибке DirectX.

Подписаться
Уведомить о
guest
1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии