Перейти к содержимому

Как принудительно запустить игру на directx 11

  • автор:

Как принудительно запустить игру на directx 11

Будь в курсе последних новостей из мира гаджетов и технологий

iGuides для смартфонов Apple

Как запустить новейшие игры на видеокартах с поддержкой DirectX 10

Егор

Егор Морозов — 21 сентября 2017, 15:08

image-04-535x535 (1).png

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.

Как принудительно запустить игру на directx 11

Игра Atomic Heart по умолчанию запускается под DirectX 12. Все мы много раз слышали, что новый API должен обеспечивать лучшую производительность на современных системах, но в реальности ситуация часто иная. И Atomic Heart не является исключением. Переход на DirectX 11 может поднять производительность, особенно на старых видеокартах.

В параметрах игры нет ручного выбора DirectX. Как включить DirectX 11 в Atomic Heart? Решение простое. Находите Atomic Heart в библиотеке игр Steam, нажимаете правой клавишей, вызываете меню. Во вкладке «Общие» в поле параметры запуска прописываете -d3d11. После чего игра станет запускаться под DirectX 11.

Также можно добавить параметр для запуска в свойства ярлыка. Находите в папке с игрой AtomicHeart.exe, делаете ярлык на рабочем столе, добавляете -d3d11 в меню свойств, поле «Объект».

Я провел беглое тестирование во вступительной сцене. В самом тяжелом графическом режиме (4K с максимальными настройками, DLSS отключен) видеокарта GeForce RTX 2080 Ti оказалась на 3-5% быстрее в DirectX 11.

В случае старых GeForce GTX 1060/1070/1080 разница будет еще больше. Также из-за особенностей менеджмента памяти в DirectX 12 выше загрузка видеопамяти. Поэтому строго рекомендуем включать DirectX 11 на всех видеокартах NVIDIA прошлых поколений.

Также в DirectX 11 работает технология NVIDIA DLSS.

Больше советов и обзоров технологий на нашем сайте NVPlay.ru. Подписывайтесь также на наши сообщества во ВКонтакте, Telegram и Twitter!

Как принудительно запустить игру на directx 11

Fort Solis — одна из игр новой волны на движке Unreal Engine 5. Игры эти радуют технологичной картинкой и не совершено радуют высочайшими системными требованиями. Одним из способов улучшить производительность игр на Unreal Engine 4 был их запуск под старым API DirectX 11, как, например, в случае Atomic Heart. Что мы выиграем, если запустить игру на Unreal Engine 5 под старым API? Это доступно не везде, но в случае Fort Solis вполне реализуемо. И мы провели такой эксперимент.

Запустить игру на Unreal Engine 5 под DirectX 11 можно в принудительном режиме. Для этого находим fortsolis.exe в папке игры, создаем ярлык, и в свойствах ярлыка дописываем параметр запуска -d3d11 в поле «Объект». Все показано ниже на скриншоте.

Этот же параметр можно прописать в свойствах игры в Steam — вкладка «Общие», поле «Параметры запуска».

Далее запускаем игру и наблюдаем серьезный рост производительности. Именно он бросается в глаза в первую очередь. В случае GeForce RTX 2080 Ti частота кадров выросла примерно на 50%! Но потом начинаешь присматриваться к картинке и замечаешь странные нюансы, сравниваешь с картинкой в DirectX 12 — и видишь явные визуальные упрощения. Все наглядно показано в видеоролике:

В видео продемонстрирована разница в картинке и производительности при нативном разрешении 2560×1440 и при включенном масштабировании NVIDIA DLSS, но оно тут роли не играет, ухудшения связаны только с API.

У игры под DirectX 11 ухудшается детализация. У объектов окружения меньше полигонов, пропадают некоторые мелкие элементы (болты, кнопки и т.п.).

Не отображаются некоторые тени или их качество ухудшается. Есть какие-то фантомные блики на экране. Исчезают мелкие надписи и отблески света.

Доходит до того, что у дерева в главном зале базы просто нет листвы.

Очевидно, что игра некорректно работает под старым API. Если обратиться к базовому описанию функций рендеринга Unreal Engine 5, то видно, что в DirectX 11 не поддерживается Nanite Virtualized Geometry, Virtual Shadow Maps, а также Path Tracer и Hardware Ray Tracing. Игра использует Unreal Engine 5.2 и кроме геометрии Nanite также поддерживает систему освещения Lumen. И как раз с геометрией, освещением и тенями наблюдаются проблемы при запуске игра под DirectX 11.

Что касается производительности, то скачок FPS серьезный. Для наглядности приведем результаты тестирования в нескольких режимах.

Тестовый стенд

  • процессор: Intel Core i5-12600KF @5,1 ГГц
  • материнская плата: Gigabyte Z690 UD AX
  • видеокарта: GeForce RTX 2080 Ti Founders Edition
  • память: DDR5-5400 2×16 GB Kingston Fury
  • накопитель SSD: Kingston KC400 256GB
  • жесткий диск: Western Digital Purple WD40PURZ 4TB
  • блок питания: Chieftec Polaris PPS-1050FC
  • операционная система: Windows 10
  • драйвер NVIDIA GeForce 537.58

В Full HD переход на DirectX 11 обеспечивает ускорение в 40% по средней частоте кадров, в формате WQHD (1440p) это более 58%. Но по минимальным показателям преимущества нет, с повышением разрешения в DirectX 11 он даже хуже. Связано это с периодическими лагами. Такой момент есть на сравнительном видео. Фризы случаются довольно часто, и длятся от одной до нескольких секунд. Также в эти моменты резко скачет загрузка видеопамяти, и в целом под DirectX 11 игра активнее использует доступную память.

С повышением разрешения до 4K (даже с производительными режимами DLSS) вся видеопамять на GeForce RTX 2080 Ti загружена по максимуму, а фризы возникают так часто, что местами невозможно играть.

Выводы

Fort Solis можно принудительно запустить под DirectX 11, но вы получите проблемы с геометрией и другие визуальные ухудшения. На этом фоне серьёзный рост производительности не имеет никакого практического смысла. При этом в DirectX 11 есть проблема с использованием видеопамяти и ужасными статтерами в высоких разрешениях.

Для игр на движке Unreal Engine 4 выбор между DirectX 11 и DirectX 12 был не принципиальным. Все функции движка работали в старом API, и в таком режиме производительность зачастую была выше. Выбор DirectX 12 в качестве основного API был необходим только для трассировки лучей. Но с переходом на Unreal Engine 5 о DirectX 11 можно забыть, поскольку движок явно ориентирован на DirectX 12 и некоторые его функции заточены под работу в новом API. Возможно, лишь в самых простых проектах на основе UE 5 можно будет безболезненно перейти на старый DirectX 11 — при случае проверим этом в какой-то подходящей игре.

Как принудительно запустить игру на directx 11

Что это, как это исправить?

Нужные программы для эмуляции

Настройка Утилиты

У меня ничего не получилось, помогите!

Комментарии
Что это, как это исправить?

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

Вот пару примеров как это выглядит:

Это свидетельствует о том, что ваша видеокарта не поддерживает API DirectX 11, который использует игра для рендера изображения.

Решением этой проблемы, это эмуляция DirectX 11

Способ который я предлагаю в этом гайде, очень требователен к процессору и видеокарте, так что игра будет сильно глючить, и многого от неё не ожидайте.

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

Нужные программы для эмуляции

Далее установка Windows SDK, он является основным компонентом эмуляции. Если у вас установлен Windows 10 с последней ревизией, то Windows SDK вам устанавливать НЕ нужно.

Иным версиям Windows установите следующий пакет программ по ссылке ниже: https://go.microsoft.com/fwlink/p/?linkid=2120843

Так же, сама утилита которая будет эмулировать DirectX 11, что бы её установить пройдите по ссылке ниже:
https://drive.google.com/file/d/1Hi1v3moN7mZWvoVdSpvmZn4HqElbhFxA/view

После установки всех программ, можем переходить к настройке утилиты.

Настройка Утилиты

После запуска Dxcpl.exe, вы увидите это:

Нас интересует кнопка Edit List. , нажимаем на неё.

После нажатия у вас выскочит такое окно, оно отвечает в какой из программ, в нашем случае это BattleBit, мы будем эмулировать DirectX 11.

Нажимаем на троеточие (. ), и указываем путь к исполняемой программе (.exe), она находится в папке с игрой, путь должен примерно выглядеть так: D:\Steam\steamapps\common\BattleBit\BattleBit.exe

далее нажимаем на кнопку Add, что бы добавить её в список программ.

В данном окне это все, нажимаете ОК, что бы сохранить список программ.

Далее, что нужно изменить это, выбрать версию которую мы хотим эмулировать, и включить функцию растеризации (FORCE WARP), все что нужно сделать, вы можете увидеть на иллюстрации ниже.

После изменения параметров, нажимаем на Применить, и далее вы можете закрывать утилиту.

На этом все, но рекомендую заранее установить настройки графики на самые низкие, и разрешение экрана снизить на минимальное с возможных, и в дополнение сделать Screen Scale на 50, или даже ниже что бы получить свой FPS не ниже 30.

У меня ничего не получилось, помогите!

Если у вас возникают какие-то проблемы с настройкой утилиты, или ссылка на программу устарела, то вы можете написать это в комментарии, и я постараюсь вам ответить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *