Почему каждая компьютерная игра устанавливает собственную копию DirectX?

Оглавление:

Почему каждая компьютерная игра устанавливает собственную копию DirectX?
Почему каждая компьютерная игра устанавливает собственную копию DirectX?

Видео: Почему каждая компьютерная игра устанавливает собственную копию DirectX?

Видео: Почему каждая компьютерная игра устанавливает собственную копию DirectX?
Видео: Как удалить группу в приложении Facebook на телефоне / Удалить группу в Facebook через телефон - YouTube 2024, Май
Anonim
DirectX является частью операционной системы Windows. Итак, почему кажется, что каждая компьютерная игра, которую вы устанавливаете из Steam, Origin или где-либо еще, устанавливает свою собственную копию DirectX?
DirectX является частью операционной системы Windows. Итак, почему кажется, что каждая компьютерная игра, которую вы устанавливаете из Steam, Origin или где-либо еще, устанавливает свою собственную копию DirectX?

Что такое DirectX?

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

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

Вы можете проверить версию DirectX, доступную в вашей системе, нажав кнопку «Пуск», набрав «dxdiag» в поле поиска и нажав «Ввод». Когда появится окно инструмента DirectX Diagnostic Tool, вы увидите, что номер версии отображается справа от «DirectX Version» в разделе «Информация о системе».

Image
Image

Если он включен в 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 в вашей системе. Microsoft также решила не связывать эти файлы библиотеки Direct3D с самой Windows. Даже библиотеки Direct3D, созданные до выпуска Windows 10, например, не все включены в Windows 10. Они должны быть установлены приложением, которое в них нуждается. Как отмечает Microsoft в документации, предназначенной для разработчиков игр, «Windows Update и Service Packs не предоставляют никаких дополнительных компонентов DirectX».
Даже если вы запустили последний установщик DirectX, нет никакой гарантии, что он установит все старые небольшие версии библиотек DirectX в вашей системе. Microsoft также решила не связывать эти файлы библиотеки Direct3D с самой Windows. Даже библиотеки Direct3D, созданные до выпуска Windows 10, например, не все включены в Windows 10. Они должны быть установлены приложением, которое в них нуждается. Как отмечает Microsoft в документации, предназначенной для разработчиков игр, «Windows Update и Service Packs не предоставляют никаких дополнительных компонентов DirectX».

Это даже усложняется. 32-разрядные игры нуждаются в 32-битных версиях файла библиотеки, а для 64-разрядных игр требуется 64-разрядная библиотека.

Это похоже на ситуацию с библиотеками Microsoft Visual C ++ Redistributable. Различные приложения зависят от разных версий библиотек, и вам нужно установить много разных версий. Есть хороший шанс, что у вас тоже много установленных в вашей системе.

Но почему каждая компьютерная игра должна переустанавливать ее?

Хорошо, поэтому каждая игра должна установить точную младшую версию библиотек DirectX, в которой она нуждается. Но если вы уже установили определенную версию библиотеки DirectX один раз, то, конечно, игре не нужно запускать установщик DirectX - правильно?
Хорошо, поэтому каждая игра должна установить точную младшую версию библиотек DirectX, в которой она нуждается. Но если вы уже установили определенную версию библиотеки DirectX один раз, то, конечно, игре не нужно запускать установщик DirectX - правильно?

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

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

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

Могу ли я удалить некоторые из этих библиотек?

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

Оставь их! Существует причина, по которой официально не поддерживается способ удаления этих файлов библиотеки. Они не будут вызывать никаких проблем в вашей системе и будут использоваться только теми приложениями, которые их требуют.

Если вы действительно отчаянно пытаетесь очистить эти старые библиотеки, вам лучше переустановить Windows, чтобы получить новую систему вместо случайного удаления файлов библиотек. Но они снова начнут появляться после установки игр. Не беспокойтесь об этом.

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

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

Вы можете войти в папку игры в своей системе или на установочный диск игры, найти файл EXE-файла установщика DIrectX и запустить его, чтобы исправить эту проблему. Этот файл обычно называется DXSETUP.exe.

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

Рекомендуемые: