Как установить в стиме directx

Обновлено: 02.07.2024

Эта статья предназначена для решения некоторых распространенных вопросов о среде выполнения DirectX и использования Директсетуп для установки DirectX.

Устаревший пакет SDK DirectX находится в конце жизни, но он по-прежнему доступен для поддержки старых игр, руководств и проектов. Новые проекты не должны использовать его. Для использования устаревшего пакета SDK DirectX необходимо использовать устаревшие Директсетуп для таких компонентов, как D3DX9, D3DX10, D3DX11, Ксаудио 2,7, Ксинпут 1,3 и транзакции. Дополнительные сведения о текущем состоянии пакета SDK для DirectX см. в разделе где находится пакет SDK DirectX?, а в записи блога нет такой непосредственной настройки.

Среда выполнения DirectX

Среда выполнения DirectX состоит из основных компонентов и дополнительных компонентов.

Основные компоненты, такие как Direct3D и Директинпут, считаются частью операционной системы. основные компоненты directx 9.0 c не изменились с момента обновления пакета SDK для directx (лето 2004) и соответствуют выпуску Microsoft Windows XP с пакетом обновления 2 (SP2), Windows XP Pro x64 Edition и Windows Server 2003 с пакетом обновления 1 (SP1). Windows в состав Vista входит DirectX 10, поддерживающий модель видеодрайверов (WDDM) Windows и Direct3D 10. x. Windows 7 и Windows Vista (см. KB971644) поддерживают DirectX 11, поддерживающие Direct3D 11, Direct2D, DirectWrite, устройство отрисовки программного обеспечения WARP10 и уровни компонентов 10level9. дополнительные сведения см. в разделе api Graphics в Windows .

Дополнительные компоненты выпускаются в обновлениях пакета SDK DirectX и включают в себя D3DX, XAudio2, КСИНПУТ, управляемые DirectX и другие подобные компоненты. Многие из дополнительных компонентов регулярно обновляются для интеграции отзывов клиентов и предоставления новых функций.

Номер версии DirectX

Номер версии DirectX, например 9.0 c, относится только к версии основных компонентов, например Direct3D, Директинпут или DirectSound. Это число не охватывает версии различных дополнительных компонентов, выпускаемых в пакете SDK DirectX, например D3DX, активной транзакции, КСИНПУТ и т. д.

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

Библиотеки DirectX

В прошлом дополнительные компоненты пакета SDK DirectX, включая D3DX, были выпущены как статические библиотеки. Однако теперь они выпускаются в виде библиотек (DLL) с повышенными требованиями к безопасности. Библиотеки DLL позволяют обслуживать ранее выпущенный код. Если эти компоненты были развернуты как статические библиотеки, корпорация Майкрософт не сможет устранить проблемы безопасности, обнаруженные после выпуска.

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

Хотя обеспечение установки библиотек DLL в системе не так просто, как простое связывание со статическими библиотеками, в пакет SDK для DirectX внесены некоторые изменения, чтобы решить проблему с моделью DLL.

  • Распространяемый пакет DirectX можно настроить так, чтобы он содержал только те компоненты, которые требуются вашему приложению для снижения распространения и размеров носителей.
  • Папка распространяемые файлы с \ пакетом SDK для DirectX \ \ , теперь содержит файл CAB (.cab) для каждого возможного дополнительного компонента, поэтому вам не нужно изучать более старый пакет SDK, чтобы найти их.
  • При установке пакета SDK устанавливаются все возможные дополнительные компоненты.
  • Распространяемый пакет DirectX, содержащий все дополнительные компоненты, доступен в виде веб-установщика и загружаемого пакета. Дополнительные сведения см. в центре разработчиков DirectX (DirectX).

Установка DirectX с помощью установщика игры

Ниже приведены рекомендации по добавлению установки DirectX в установщик игры.

Термин Описание
Устанавливайте распространяемые компоненты каждый раз.
В процессе установки необходимо установить распространяемые компоненты DirectX во время каждой отдельной установки, не позволяя пользователям отказаться от них. Если вы разрешаете раскрывающийся отказ, то некоторые пользователи полагают, что они не нужны, и если они действительно выполняются, игра не будет выполняться.
Разрешите установщику DirectX проверять наличие дополнительных компонентов.
не следует рассчитывать на то, что в системе уже установлены последние дополнительные компоненты, поскольку Центр обновления Windows и пакеты обновления не предоставляют никаких дополнительных компонентов DirectX. Необходимо установить среду выполнения DirectX, выполнив dxsetup.exe напрямую или вызвав Директсетуп.
Автоматическая настройка.
Запустите программу установки в автоматическом режиме, чтобы пользователи не могли случайно пропустить обновление среды выполнения DirectX. Это можно сделать, запустив dxsetup.exe с помощью следующей команды:
или путем вызова Директсетуп и отображения пользовательского интерфейса.
Объедините принятие условий лицензионного соглашения.
Если вы запрашиваете пользователя принять условия лицензионного соглашения, объедините его с запросом на принятие лицензионного соглашения DirectX при установке в автоматическом режиме, чтобы запрос на принятие условий лицензионного соглашения происходил только один раз. Запрос должен быть выполнен до установки какого-либо действия, чтобы, если пользователь не принял условия, не завершился сбоем и частичной установкой.
Просто выполните дкссетуп или вызовите Директсетуп.
Поскольку номер версии DirectX не относится ни к чему, кроме основных компонентов DirectX, не проверяйте установленную версию перед запуском dxsetup.exe или вызовом Директсетуп. Кроме того, не следует проверять существование файла для проверки существования необязательного компонента, так как обычно он неправильно определяет, когда компонент существует, но нуждается в обновлении. Однако пакет установки DirectX быстро определит это и выполнит нужное действие.

Небольшие пакеты установки

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

В зависимости от минимальных спецификаций может быть даже не обязательно включать в папку распространяемого установочного носителя базовые CAB-файлы DirectX 9.0 c. большая часть установок Windows XP имеет пакет обновления 2 (sp2), который включает основные компоненты directx 9.0 c, поэтому операция установки directx будет выполняться очень быстро, и перезагрузка не потребуется. Самый маленький пакет, который можно создать, составляет около 3 МБ, и его можно сжать до половины этого размера. Пакет, подобный этому, содержит одну версию библиотеки DLL D3DX и требует, чтобы DirectX 9.0 c уже существовал.

Минимальный набор файлов, необходимых для создания распространяемого пакета, — это следующие файлы, расположенные в папке Redist SDK для DirectX ( \ распространяемые файлы с пакетом SDK для DirectX) \ ) .

  • dxsetup.exe
  • dsetup32.dll
  • dsetup.dll
  • dxupdate.cab

Добавьте в эти CAB-файлы для компонентов, которые требуется установить. Если требуется, чтобы пользователи вашего приложения уже имели DirectX 9.0 c, не нужно включать DirectX.cab или dxnt.cab, которые составляют большую часть необходимого пространства. DirectX.cab требуется только для Windows 98 и Windows ME; dxnt.cab требуется только для Windows 2000, Windows xp и Windows XP с пакетом обновления 1 (SP1); и дксдллрег _x86.cab требуются только для Windows 2000, Windows xp rtm, Windows XP с пакетом обновления 1 (SP1) и Windows Server 2003 RTM. кроме того, если вы не используете DirectShow или предполагаете, что она уже установлена, можно опустить BDA.cab, BDANT.cab и BDAXP.cab.

вы можете предположить, что у пользователей вашего приложения уже есть DirectX 9.0 c, если он был установлен в предыдущей версии приложения, поэтому пользователи вынуждены вручную выполнять обновление через веб-установщик, или предполагается, что у них Windows XP SP2 или более поздней версии.

Если продолжить работу с этим примером, то при использовании только 32-разрядной версии D3DX в апреле 2006 можно добавить Apr2006 _ d3dx9 _ 30 _x86.cab. Если вы используете 32-2006 32 разрядную версию КСИНПУТ, то вы добавляете Aug2006 _ ксинпут _x86.cab.

При наличии собственного 64-разрядного приложения необходимо добавить _ версии x64. Однако при наличии 32-разрядного приложения, работающего в 64-разрядной ОС, будут работать 32-разрядные версии библиотек DLL.

Затем можно распространить этот пакет файлов и запустить Директсетуп в автоматическом режиме или запустить dxsetup.exe в командной оболочке в автоматическом режиме. Не забывайте защищать этот пакет с помощью проверки версий файлов, и убедитесь, что пользователи не могут отказаться от запуска программы установки DirectX. Одно из этих событий создает процесс установки фаллибле.

Внутреннее развертывание отладочной среды выполнения DirectX

Отладочные среды выполнения компонентов DirectX устанавливаются при установке пакета SDK DirectX, но установка пакета SDK на каждый тестовый компьютер может быть нелегкой. необходимо разработать процесс установки, чтобы скопировать библиотеки dll среды выполнения отладки из программных файлов \ \ архитектура среды выполнения разработчика Microsoft DirectX SDK \ \ в Windows \ system32 \ или в папку игры.

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

мост для классических приложений приложения

мост для классических приложений приложения, использующие D3DX9, D3DX10, D3DX11, ксаудио 2,7, ксинпут 1,3 или каждую из транзакций, должны загрузить платформу microsoft. directx. x86 или microsoft. directx. x64 , чтобы развернуть эти устаревшие компоненты пакета SDK DirectX на стороне. Кроме того, можно удалить все такие зависимости — (см. раздел " Guide для разработчиков" для распространяемой версии ксаудио 2,9, а также записи блога, живущие без D3DX и ксинпут и Windows 8).


%LOCALAPPDATA%\Streumon\ Necromunda\Saved\Config\WindowsNoEditor\
(убери пробел перед "некромунда", местный форум запрещает писать слова длиннее 50 знаков).

жмём ентер.
3. Открываем Engine.ini любым текстовым редактором, я предпочитаю нотпад.
4. В конце дописываем:

Закрываем сохраняем. Микрофризы исчезли (кроме тех, когда подгружаются куски локации и игра кешируется).

Касательно самой игры, мне зашло.


не надо никакие win+r,
через мой комп заходим пользователи/ваше имя
/AppData/Local/Streumon
/Necromunda/Saved/Config/
/WindowsNoEditor


Space Мarine
Спс, реально помогло. Второй патч уже выходит, а опции отключения стриминга текстур в настройках всё ещё не завезли. Челы первый раз что ли игру на UE4 делают.


Space Мarine написал:
Закрываем сохраняем. Микрофризы исчезли (кроме тех, когда подгружаются куски локации и игра кешируется).

Помогает, только подгрузки кусков локаций довольно частые, вообще оптимизация игры одна из худших на УЕ4


И всё-таки фризы остались, выбешивает дико и очень портит геймплей, что делать?


Ну я думаю тут оптимизацию подкрутят быстрее чем в Сайберпанке.


Палыч Роков
Что за конфиг у тебя ?
У меня игра летает без фризов с выше описанными действиями. Конфиг в профиле.

Включил ФСР, что бы компенсировать просадку фпс из-за записи в 1080р 60 фпс с битрейтом 60 мбит, хотя ютуб всё равно отшакалил качество.

Вы пишете про плохую оптимизацию. Но ведь в игре офигительная детализация на локациях, куда не глянь, везде сотни и тысячи мелких объектов окружения. Практически какой объект не возьми, у него очень много мелких деталей и высокая проработка. И учитывая размер локаций в игре, я в целом понимаю, почему у игры не самые низкие требования.


Tyckas123 написал:
Ну я думаю тут оптимизацию подкрутят быстрее чем в Сайберпанке.

ничего не подкрутили и не подкрутят, игре помогает только одно - установка на ссд, это первая игра, которой установка на ссд что-то даёт

i7-5960x@4375/4250 + rtx 2080s + 64 ram, играю в 4к с FSR на суперкачество, игре помогает только установка на ссд

Space Мarine написал:
Вы пишете про плохую оптимизацию. Но ведь в игре офигительная детализация на локациях, куда не глянь, везде сотни и тысячи мелких объектов окружения. Практически какой объект не возьми, у него очень много мелких деталей и высокая проработка. И учитывая размер локаций в игре, я в целом понимаю, почему у игры не самые низкие требования.

Оптимизации тут нет от слова совсем, это худшее, что я видел на УЕ4, при этом окружение практически всё статично, текстуры да, более-менее чёткие, но дизайн уровней убог до ужаса, по трейлерам выглядела как убийца дума, на деле полнейшая дичь и лютое УГ


И ещё, при выходе из игры проверяйте чтоб эта зараза не оставалась в процессах, она там реально висит и из-за неё потом любая игра запущенная после дико лагает, не мог понять почему у меня в Marvel Avengers стали просадки до 20 фпс, смотрю, а у меня эта некроманда галимая в процессах, убил вручную и фпс в Марвелах с 20 до 85 вырос сразу


dimenoz
Это то же самое, но медленнее.

в 10 раз больше, чем коллектив разрабов Некромунды.
И, кстати, не пробовал на DX12 поиграть ?, а то у тебя на 11-м полтора ядра работают, остальные простаивают. При чём временами, по твоему ролику выше, у тебя даже на первой, самой лёгкой локации это бедное одно работающее ядро под соточку долбится :D

По поводу дизайна уровней, это то, чему досталось больше всего похвал в Некромунде. И он действительно тут крутой и каноничный, это признавали даже те издания, которые в целом больше критиковали игру, чем хвалили. Поэтому словил ор с этой претензии :D

пар стала важной платформой для любого геймера на ПК. В нем мы можем купить практически любую игру, доступную для компьютера, скачать ее, установить и начать играть практически мгновенно. Однако мы уверены, что всякий раз, когда мы выполняем этот процесс, нас одолевают сомнения. Надо ли еще что-то делать, кроме скачивания игры? Что еще настраивать? А как насчет библиотек DirectX? Это то, что мы попытаемся уточнить сегодня.

DirectX представляет собой набор Microsoft API-интерфейсы, используемые при разработке видеоигр, которые должны быть установлены на компьютерах перед запуском любого заголовка, зависящего от них. Когда мы устанавливаем операционную систему, обычно приходит их (старая) версия. Однако многие игры зависят от более новой или более старой версии, чем та, которую мы установили на ПК, которая должна быть установлена ​​отдельно, чтобы эта игра могла нормально работать.

Стоит ли обновлять DirectX при установке игры Steam

Как DirectX устанавливает приложение Steam

Когда мы загружаем новую игру на наш компьютер, загружаются не только основные игровые файлы, но и все виды библиотек и зависимостей, которые могут нам понадобиться, загружаются одновременно. Среди них мы можем найти, например, распространяемые файлы C ++ или библиотеки DirectX.

Эти библиотеки обычно хранятся в каталоге установки игры, в папке с именем «_CommonRedist». И для их установки нам не нужно ничего делать. При первом запуске игры Steam проверит наш компьютер в процессе, который займет несколько секунд, и установит все, что отсутствует на нашем компьютере, чтобы игра работала правильно. Как правило, нет необходимости иметь подключение к Интернету для выполнения этого процесса настройки, так как зависимости будут загружаться автоматически вместе с игрой.

Установочные зависимости Steam

В зависимости от игры и различных зависимостей, от которых она зависит, мы можем столкнуться с большим или меньшим количеством шагов в этой начальной конфигурации. Кроме того, есть игры (например, те, которые написаны с использованием движка Valve Source), которые не зависят от DirectX, поэтому при их выпуске эти зависимости не будут установлены.

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

Почему он всегда устанавливается, если он у меня уже установлен?

Microsoft время от времени выпускает новые версии своего API. И, хотя они обратно совместимы, каждая игра предназначена для работы с определенной версией, иначе это приведет к ошибке.

Например, если у нас есть Установлен DirectX 12 на нашем компьютере, но игре требуется DirextX 9 версии 40, чтобы избежать ошибок и проблем, Steam скопирует указанную версию на наш компьютер, чтобы игра могла загрузить точную библиотеку (которая в этом примере будет D3DX9_40.dll ).

Этот процесс выполняется только при первом запуске игры в Steam. Если у нас уже установлена ​​необходимая версия, установка будет просто проигнорирована, а если она у нас не установлена, она будет скопирована на C: / Windows / SysWOW64 или C: каталог / Windows / System32 , в зависимости от того, 32-разрядная это версия или 64-разрядная.

Егор

Егор Морозов | 21 Сентября, 2017 - 15:08

image-04-535x535 (1).jpg


API DirectX 11 появился более 7 лет назад, и уже медленно уступает более новому и технологичному DX 12. Однако в мире остается еще достаточно много относительно мощных видеокарт, которых поддержкой DirectX 11 обделили — к примеру, линейка GeForce 200: топовые ее представители, GTX 280 и выше, без проблем тянут GTA 5 даже в FHD. Однако при попытке запустить на такой видеокарте тот же Fallout 4, который, казалось бы, достаточно хорошо оптимизирован, мы сталкиваемся с тем, что игра требует DX 11. Конечно, наилучшим выходом будет покупка самой простой DX11 совместимой видеокарты, благо стоят они (особенно б/у) недорого, но если очень хочется — можно попробовать поиграть в новейшие игры и на старом железе с поддержкой только DX10.

Снимок.PNG

Для этого нам поможет программная эмуляция новых версий DX — вплоть до 12ого. Чтобы ей воспользоваться, нужен Windows SDK — скачать его можно на официальном сайте. После установки нужно перейти по пути C:\Windows\System32 и запустить файл dxcpl.exe. В нем нажимаем на «Edit list. » и добавляем .exe нужной игры. Теперь выбираем Feature level limit на том уровне, который нужен (для DX 11 лучше брать 11_1, в 12ый лучше не лезть), включаем Force WARP и Force On, после чего применяем изменения. Должно получиться так:

После таких действий игра, требующая DX11, скорее всего запустится, однако стоит учитывать, что программная эмуляция работает крайне медленно, так что сразу ограничивайтесь минимальными настройками в HD. Ну и разумеется не стоит пытаться запустить проекты, которые требуют hi-end железо — лучше всего ограничиться пошаговыми играми типа Tropico или Civlization VI.

Читайте также: