Как принудительно запустить игру на directx 11
Будь в курсе последних новостей из мира гаджетов и технологий
iGuides для смартфонов Apple

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

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

API DirectX 11 появился более 7 лет назад, и уже медленно уступает более новому и технологичному DX 12. Однако в мире остается еще достаточно много относительно мощных видеокарт, которых поддержкой DirectX 11 обделили — к примеру, линейка GeForce 200: топовые ее представители, GTX 280 и выше, без проблем тянут GTA 5 даже в FHD. Однако при попытке запустить на такой видеокарте тот же Fallout 4, который, казалось бы, достаточно хорошо оптимизирован, мы сталкиваемся с тем, что игра требует DX 11. Конечно, наилучшим выходом будет покупка самой простой DX11 совместимой видеокарты, благо стоят они (особенно б/у) недорого, но если очень хочется — можно попробовать поиграть в новейшие игры и на старом железе с поддержкой только DX10.
Для этого нам поможет программная эмуляция новых версий 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!
Параметры запуска
Опытные пользователи могут указывать дополнительные параметры, которые влияют на различные режимы работы игры.
Список допустимых параметров [ ]
Этот перечень не полный, время от времени разработчики добавляют поддержку новых параметров, здесь лишь часть, которая может быть полезна игрокам.
| Команда | Действие |
|---|---|
| -d3d10 | Принудительное использование DirectX 10. |
| -d3d11 |
Настройка в Steam [ ]

В библиотеке нужно открыть контекстное меню игры правой кнопкой и выбрать пункт Свойства. Параметры запуска можно указать на вкладке Общее. Несколько параметров могут быть указаны через пробел.
Как принудительно запустить игру на 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 — при случае проверим этом в какой-то подходящей игре.