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

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

Что такое DirectX?

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

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

СВЯЗАННЫЕ: Как использовать диагностику DirectX в Windows

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

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

СВЯЗАННЫЕ: Почему на моем компьютере установлено так много «распространяемых файлов Microsoft Visual C ++»?

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

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

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

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

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

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

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

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

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

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

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

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

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

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