Установка DirectX для разработчиков игр
В этой статье рассматриваются некоторые распространенные вопросы о среде выполнения DirectX и использовании DirectSetup для установки DirectX.
- Среда выполнения DirectX
- Номер версии DirectX
- Библиотеки DirectX
- Установка DirectX установщиком игры
- Небольшие пакеты установки
- Внутреннее развертывание отладочной среды выполнения DirectX
Устаревший пакет SDK Для DirectX находится в конце срока службы, но он по-прежнему доступен для поддержки старых игр, учебников и проектов. Новые проекты не должны использовать его. Использование устаревшего пакета SDK для DirectX требует использования устаревшей версии DirectSetup для таких компонентов, как D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3 и XACT. Дополнительные сведения о текущем состоянии пакета SDK для DirectX см. в разделе Где находится пакет SDK Для DirectX? и в записи блога Not So Direct Setup.
Среда выполнения DirectX
Среда выполнения DirectX состоит из основных компонентов и дополнительных компонентов.
Основные компоненты, такие как Direct3D и DirectInput, считаются частью операционной системы. Основные компоненты для DirectX 9.0c не изменились с момента выпуска пакета SDK DirectX summer 2004 Update и соответствуют тому, что было выпущено в Microsoft Windows XP с пакетом обновления 2 (SP2), Windows XP Pro x64 Edition и Windows Server 2003 с пакетом обновления 1 (SP1). Windows Vista включает DirectX 10, который поддерживает модель драйвера дисплея Windows (WDDM) и Direct3D 10.x. Windows 7 и Windows Vista поддерживают DirectX 11, которая поддерживает Direct3D 11, Direct2D, DirectWrite, программное устройство отрисовки WARP10 и уровни функций 10level9. Дополнительные сведения см. в разделе API графики в Windows .
Необязательные компоненты выпускаются в обновлениях пакета SDK Для DirectX и включают D3DX, XACT, XAudio2, XINPUT, Managed DirectX и другие подобные компоненты. Многие из дополнительных компонентов регулярно обновляются для интеграции отзывов клиентов и предоставления новых функций.
Номер версии DirectX
Номер версии DirectX, например 9.0c, относится только к версии основных компонентов, таких как Direct3D, DirectInput или DirectSound. Это число не охватывает версии различных дополнительных компонентов, выпущенных в пакете SDK для DirectX, таких как D3DX, XACT, XINPUT и т. д.
Как правило, номер версии DirectX не имеет смысла, за исключением краткой ссылки на основные биты времени выполнения. Этот номер не следует использовать для проверка, если правильная среда выполнения DirectX уже установлена, так как она не учитывает необязательные компоненты DirectX.
Библиотеки DirectX
В прошлом необязательные компоненты пакета SDK для DirectX, включая D3DX, были выпущены в виде статических библиотек. Однако теперь они выпускаются как динамически похожие библиотеки (DLL) из-за повышенного спроса на более совершенные методы обеспечения безопасности. Библиотеки DLL позволяют обслуживать ранее выпущенный код. Если эти компоненты были развернуты как статические библиотеки, корпорация Майкрософт не сможет устранить проблемы безопасности, обнаруженные после выпуска.
По мере добавления или изменения функций в необязательных компонентах имена соответствующих библиотек DLL также изменяются, чтобы гарантировать отсутствие регрессии для существующих игр, использующих выпущенные компоненты. Библиотеки DLL для каждого компонента живут параллельно, и разработчики игр могут выбрать именно ту версию DLL, которую использует игра, связав ее с соответствующей библиотекой импорта.
Хотя обеспечить установку библиотек DLL в системе не так просто, как просто связаться со статическими библиотеками, в пакет SDK для DirectX были внесены некоторые изменения, чтобы устранить проблемы модели DLL:
- Распространяемый компонент DirectX можно настроить так, чтобы он содержал только те компоненты, которые требуются приложению, чтобы свести к минимуму размеры дистрибутива и мультимедиа.
- Распространяемая папка Program Files\DirectX SDK\Redist\теперь содержит файл шкафа (.cab) для всех возможных дополнительных компонентов, поэтому вам не нужно копать старый пакет SDK, чтобы найти их.
- При установке пакета SDK устанавливаются все возможные дополнительные компоненты.
- Распространяемый компонент DirectX, содержащий все необязательные компоненты, доступен как в виде веб-установщика, так и в виде загружаемого пакета; Дополнительные сведения см. в центре разработчиков DirectX (DirectX).
Установка DirectX установщиком игры
Ниже приведены рекомендации по добавлению установки DirectX в установщик игры.
path-to-redistributable\dxsetup.exe /silent
Небольшие пакеты установки
Вы можете создавать небольшие пакеты установки для DirectX, удаляя содержимое распространяемой папки DirectX до минимального набора файлов, необходимых для работы установщика, и сохраняя все дополнительные компоненты, используемые в игре.
В зависимости от минимальных спецификаций может даже не потребоваться включать основные файлы кабинетов DirectX 9.0c в распространяемую папку установочного носителя. Большинство установок Windows XP имеют пакет обновления 2 (SP2), который включает основные компоненты DirectX 9.0c, поэтому операция установки DirectX будет очень быстрой и не потребует перезагрузки. Самый маленький пакет, который можно создать, составляет около 3 МБ, и его можно сжать примерно до половины этого размера. Такой пакет содержит одну версию библиотеки DLL D3DX и требует наличия DirectX 9.0c.
Минимальный набор файлов, необходимый для сборки распространяемого пакета, — это следующие файлы, расположенные в папке Redist пакета SDK для DirectX (Program Files\DirectX SDK\Redist):
- dxsetup.exe
- dsetup32.dll
- dsetup.dll
- dxupdate.cab
Добавьте к этим cab-файлы для компонентов, которые требуется установить. Если требуется, чтобы пользователи приложения уже имели DirectX 9.0c, вам не нужно включать DirectX.cab или dxnt.cab, которые составляют большую часть необходимого пространства. DirectX.cab требуется только для Windows 98 и Windows ME; dxnt.cab требуется только для Windows 2000, Windows XP и Windows XP с пакетом обновления 1 (SP1); и dxdllreg_x86.cab требуется только для Windows 2000, Windows XP RTM, Windows XP с пакетом обновления 1 (SP1) и Windows Server 2003 RTM. Кроме того, если вы не используете DirectShow или предполагаете, что он уже установлен, можно опустить BDA.cab, BDANT.cab и BDAXP.cab.
Можно предположить, что у пользователей приложения уже есть DirectX 9.0c, если он был установлен в предыдущей версии приложения, вы заставляете пользователей вручную обновляться с помощью веб-установщика или предполагаете, что у них есть Windows XP с пакетом обновления 2 (SP2) или более поздней версии.
Продолжая работу с этим примером, если вы используете только 32-разрядную версию D3DX за апрель 2006 г., можно добавить Apr2006_d3dx9_30_x86.cab. Если вы используете 32-разрядную 32-разрядную версию XINPUT за август 2006 г., добавьте Aug2006_xinput_x86.cab.
Если у вас есть собственное 64-разрядное приложение, необходимо добавить версии _x64. Однако если у вас есть 32-разрядное приложение, работающее в 64-разрядной ОС, будут работать 32-разрядные версии библиотек DLL.
Затем вы можете распространить этот пакет файлов и запустить DirectSetup в автоматическом режиме или запустить dxsetup.exe в командной оболочке в автоматическом режиме. Не забывайте защищать этот пакет при проверке версий файлов и убедитесь, что пользователи не могут отказаться от запуска программы установки DirectX. Любое из этих событий создает процесс установки, который может быть ошибочной.
Внутреннее развертывание отладочной среды выполнения DirectX
Среды выполнения отладки компонентов DirectX устанавливаются при установке пакета SDK DirectX, но установка пакета SDK на каждом тестовом компьютере может быть болезненным. Необходимо спроектировать процесс установки, чтобы скопировать библиотеки DLL среды выполнения отладки из Program Files\Microsoft DirectX SDK\Developer Runtime\architecture\ в Windows\system32\ или в папку игры.
Однако настоятельно рекомендуется не просто копировать выпущенные библиотеки DLL времени выполнения, так как их легко забыть удалить для конечного продукта. Вместо этого поместите файлы установки DirectX в общую папку и запустите программу установки автоматически из общей папки.
приложения мост для классических приложений
мост для классических приложений приложения, использующие D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3 или XACT, должны скачать платформу Microsoft.DirectX.x86 или Microsoft.DirectX.x64 для параллельного развертывания этих устаревших компонентов пакета SDK для DirectX. Кроме того, можно удалить все такие зависимости (см. руководство разработчика для распространяемой версии XAudio 2.9 и записи блога Living without D3DX и XINPUT и Windows 8).
Обратная связь
Были ли сведения на этой странице полезными?
Онлайн-установщик DirectX
DirectX Online Installer позволяет очень удобно загружать для Windows нужную версию графической библиотеки. Принцип его действия предельно прост: сначала утилита анализирует систему на наличие (или отсутствие) требуемых файлов и компонентов, затем она синхронизируется с официальным сервером Microsoft и предлагает пользователям загрузить необходимые данные. Когда скачивание заканчивается, происходит автоматическая их распаковка на компьютер. Давайте разберем ее использование в пошаговом формате.
Подробности
Теперь вы знаете принцип действия онлайн-инсталлятора Директ Икс. Загрузить его можно на официальном сайте Майкрософт, ссылку на нужную страницу мы разместили в конце текста для вашего удобства. Откройте ее в любом браузере, а затем щелкните мышкой по красной кнопке.
Скорее всего, после этого появится форма с предложением дополнительного софта для операционной системы. Снимите выделение со всех пунктов в левом блоке, а потом нажмите на кнопку в правом нижнем ее углу.
В результате начнется загрузка файла с именем dxwebsetup.exe. Запустить вы его можете непосредственно из браузера. В приветственном окошке будет представлено лицензионное соглашение, с которым необходимо согласиться.
Затем вам предложат установить панель Bing, от которой мы настоятельно рекомендуем отказаться. Затем пойдет анализ системы на отсутствие нужных компонентов. Для их загрузки щелкните ЛКМ по кнопке «Далее».
Когда весь процесс будет окончен, вам останется нажать на «Готово» и перезагрузить компьютер.
Дополнение
Иногда в ходе использования онлайн-установщика библиотеки Директ Икс возникают различные ошибки. Чтобы их устранить, воспользуйтесь нашими рекомендациями:
- Для начала мы рекомендуем вам удалить файл dxwebsetup.exe и загрузить его заново.
- На всякий случай выполните перезапуск системы
- По возможности на время отключите антивирусы и другое защитное ПО, что используется на компьютере.
- Запускайте установочный файл от имени администратора, для этого кликните на него ПКМ и выберите соответствующую опцию.
Как обновить DirectX
Некоторые пользователи не знают, как обновить DirectX до последней версии. В данном материале мы предоставим подробную инструкцию о том, как это сделать. Но сначала поговорим о более простых и понятных вещах.
Вводная информация
Стоит отметить, что без данного компонента невозможна нормальная работа операционной системы. Ей, как и многим приложениям, будет постоянно чего-то не хватать. Так что давайте для начала разберемся, что это за компонент такой.
Что такое DirectX?
Это набор специальных библиотек, необходимых операционной системе Windows для работы с 2D и 3D графикой. Пакет Директ Икс предоставляется компанией Microsoft. Причем совершенно бесплатно. Установить его может любой желающий.
А вот в операционной системе Windows 10 уже присутствует актуальная версия данных библиотек. Так что для тех, кто использует эту ОС данный материал не особо актуален. Оно и понятно. Ведь «десятка» — текущий проект компании из Редмонда.
Кому может пригодиться эта статья? Во-первых, тем, кто использует Windows 7, 8 или 8.1. Там иногда приходится производить обновление компонентов DirectX до последней версии. То же самое касается и тех, кто сидит на Vista.
А вот пользователям Windows XP рассчитывать не на что. Для них потолок – DirectX 9.0c. Но эта версия библиотек уже давно у них установлена. К сожалению, из-за политики компании Microsoft новых версий библиотек для XP не будет. Но если у вас восьмая (или более ранняя) версия библиотеки, то данная инструкция все же поможет.
А теперь давайте поговорим о том, как посмотреть версию компонентов, установленных в ОС. Это необходимо, поскольку может оказаться так, что обновление вовсе не нужно.
Как узнать версию DirectX?
Перед обновлением всегда необходимо проверять версию того компонента, который вы собираетесь обновить. Если она актуальна, то не нужно ничего делать. Получится зря потраченный трафик (так как все это скачивается из интернета).
Узнать версию DirectX можно при помощи встроенных инструментов Windows. Для этого даже не нужно устанавливать никаких сторонних приложений. Способ довольно простой. С ним справятся даже новички. Но на всякий случай мы предоставим подробную инструкцию:
- Открываем меню «Пуск» при помощи специальной кнопки на панели задач.
- Перемещаемся в каталог «Служебные – Windows» и кликаем по пункту «Выполнить».
Вызвать этот инструмент можно и проще. Достаточно нажать сочетание клавиш Win + R».
- Далее вводим в текстовое поле dxdiag.
- Нажимаем «ОК» или Enter на клавиатуре.
Появится окно с огромным количеством информации. В числе прочего там будет строка «Версия DirectX».Именно в ней и отображается та версия библиотек, что установлена в системе. Если она неактуальна, то переходим к обновлению.
Стоит отметить, что процесс обновления выполняется в режиме онлайн. Поэтому просто необходимо наличие широкополосного подключения к интернету. Иначе ничего не выйдет. Многое также зависит от скорости. Если она маленькая, то процесс инсталляции затянется надолго. Итого нужно будет загрузить, в среднем, 150 МБ.
Обновление DirectX
На данный момент, выполнить обновление данного компонента можно только одним способом: скачать установщик с серверов компании Microsoft. Сам он весит мало. Но вот библиотеки довольно-таки объемные.
Суть заключается в том, что инсталлятор скачивает нужные файлы в процессе установки и только потом интегрирует их в операционную систему. Такой способ проще и надежнее. Вот подробная инструкция, рассказывающая о том, как и что делать.
- Открываем в удобном интернет-обозревателе страницу https://www.microsoft.com/ru-ru/download/details.aspx?id=35.
- Здесь вам нужно кликнуть ЛКМ на красную кнопку.
- Откажитесь от загрузки дополнительного софта.
- Теперь нужно открыть dxwebsetup.exe.
- Примите лицензионные условия.
- Откажитесь от инсталляции дополнительных компонентов (Панель Bing и т. д.).
- Запустите процедуру загрузки.
- Дождитесь ее завершения.
- На всякий случай выполните перезапуск системы.
Вот так происходит обновление библиотек DirectX.
Заключение
А теперь подведем итоги и попытаемся обобщить всю многословную филиппику, представленную выше. В данном материале мы попытались дать ответ на вопрос о том, как обновить Директ Икс на компьютере или ноутбуке. Оказалось, что это довольно просто.
С данной задачей справится даже новичок, который только недавно сел за компьютер. Не забудьте только проверить актуальность уже установленной на компьютере версии DirectX. Возможно, никакого обновления и не потребуется. Особенно, если и старая версия еще неплохо работает.
При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/windows/win32/dxtecharts/directx-setup-for-game-developers