Как запустить игру с directx 11 на directx 10

Обновлено: 04.07.2024

DirectX представляет собой интерфейс прикладного программирования (application programming interface или API) для операционной системы Windows. Это программно-аппаратный комплекс, разработанный для работы с мультимедиа. В основном, говоря об этом комплексе, подразумевают работу с графическими приложениями.

Первый пакет DirectX был выпущен в далёком 1995 году вместе с Windows 95. С тех пор каждая новая версия пакета регулярно выпускается с новыми продуктами от Microsoft.

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

Аппаратная реализация DirectХ 11 была реализована в 2009 года в видеоадаптерах Radeon серии 5800 и в конце 2010 года в GeForce серии 400. В настоящее время данный пакет уже является устаревшим, поскольку спустя 4 года были выпущены видеокарты с поддержкой DirectX 12.

Подавляющее большинство современных видеоадаптеров поддерживают 11-ю версию данного пакета, но многие более старые карты могут его и не поддерживать.

Определение совместимости directx 11

Узнать, какой пакет Direct Х 11 установлен в операционной системе можно достаточно просто – необходимо использовать стандартную программу диагностики dxdiag.exe

Этот пакет входит в базовую поставку любой версии Windows, начиная с Windows 98. Её можно запустить из консоли (нажав Win+R) и набрав название программы «dxdiag.exe» в появившемся диалоговом окне.

На первой же странице будет отображена поддерживаемая программная версия продукта.

Узнать, какой DirectХ поддерживает видеокарта можно при помощи любого приложения системной диагностики, например, AIDA.

Внимание! Узнать, какую версию DirectХ поддерживает видеоадаптер проще всего на сайте производителя, ознакомившись с его спецификацией.

Возможные причины и методы их устранения

Причин, по которым не работает DirectХ может быть две: аппаратная и программная. В последнем случае всё решается просто – нужно установить последнюю версию библиотеки (скачивается с сайта Microsoft) или установить самые новые драйверов видеоадаптера (скачиваются с сайта производителя).

Проблема с аппаратной частью сложнее. Что делать если видеокарта не поддерживает directx 11? Скорее всего, что ничего. Если нет аппаратной части, поддерживающей 11-й DirectX, то, естественно, в полной мере API реализован не будет. Однако, существует возможность программной эмуляции данных функций.

При помощи программы dxcpl.exe можно провести эмуляцию любого пакета API вплоть до DirectX 12. Эта программа не входит в базовый пакет, а устанавливается отдельно.

При запуске приложения необходимо указать следующие параметры:

  • Какая версия API будет эмулироваться – раздел «Device Setting»; установить 11-ю.
  • Какое приложение будет использовать эмуляцию – раздел «Scope».

Далее следует включить параметр «Force WAPR» и нажать «Ок». После чего можно запускать приложение, требующее 11 DirectX.

Егор

Егор Морозов | 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.


%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



1


229 уникальных посетителей
1 добавили в избранное







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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Большинство геймеров попадали в ситуации, когда недавно вышедшая игра «не тянет» видеокарту. Точнее наоборот. Такое начало происходить уже очень давно, со времен изобретения Microsoft своей прикладной библиотеки (API) – DireсtX. На сегодняшний день последняя версия этого API – двенадцатая.

реклама

А бывали случаи, когда видеокарта поддерживает пятую версию, а игра запускается только на седьмой. Ну тут еще отчасти виноваты и сами разработчики, которые не удосужились внедрить поддержку более старой версии. Но когда мы говорим о NexGen или Классе «А» играх, то этого они не сделали по причине того, что игры эти будут «тормозить» на таких видеокартах.


MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

Еще одним примером можно считать поддержу различного версий шейдеров видеокартами. Думаю, все помнят красивый пример, когда в бенчмарке 3Dmark не проходят все тесты, а только те, в которых версия поддерживаемых шейдеров поддерживается на аппаратном уровне вашей видеокартой. Классический пример: в 3Dmark 2001SE невозможно увидеть 4-й тест «Природа», если у вас нет 3-го GeForce. Ситуацию даже не спасала GeForce 4 MX, так как она построена на архитектуре 2-го GeForce’са, а цифра 4 в названии - лишь маркетинг.

Но пользователи еще в давние времена научились обходить эти аппаратные преграды программными средствами. О таких средствах я вам расскажу в этой статье.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

Первый пример будет вообще из очень далекого прошлого. Итак, представьте себе картину: у вас есть DOOM III, который ставил на колени даже 3-й GeForce с 64 Мб видеопамяти, но в качестве видеокарты у вас есть лишь пара 3DFx Voodoo II c 12 Мб каждая. Поиграть хочется, но не можется, но выход был найден, благодаря специальному патчу «Doom 3 patch v. 1.0 for Voodoo2 cards», благодаря которому игра в этот очень страшный шутер была возможна.


Чтобы поиграть с хорошим FPS в DOOM III на паре 3Dfx Voodoo II, необходимо 256 мегабайт оперативной памяти, процессор Athlon XP с частотой не менее 2 ГГц, Socket-A материнская плата, Windows 98SE и желание поиграть в DOOM III в разрешении 800 х 600.


Все остальное сделает патч, который уменьшит качество и размеры текстур в 2 раза и оптимизирует игру для такой конфигурации. Для тех, кто хочет посмотреть, как же будет выглядеть DOOM 3 в такой конфигурации, я приложу несколько скриншотов из игры.

реклама




В сложных сценах FPS может проседать до 20 кадров в секунду, но на открытых пространствах и в помещении он может подыматься плоть до 70-ти.

реклама


Выглядит такая оптимизация вполне жизнеспособной, для сравнения я приготовил пару скриншотов из оригинального DOOM 3 с правльной видеокартой:


Переходим к следующему шейдерному этапу. Приложение 3D-Analyzer пригодится вам, когда ваша престарелая видеокарта не умеет на аппаратном уровне просчитывать пиксельные шейдеры. С помощью нее возможно играть в игры, которые без пиксельных шейдеров различный версий не работают. Либо можно эмулировать вторую версию шейдеров, если ваша видеокарта поддерживает только первую. В данном случает все расчёты лягут на плечи центрального процессора.


Также с помощью данной программы можно эмулировать различные аппаратные возможности видеокарты, включая: T&L, mip-map, bump-mup и другие.

Вот так выглядит первый FarCry на видеокарте, которая его официально не поддерживает с помощью работы 3D-Analyzer'a. Вполне сносная картинка.


А вот так игра выглядит без этого приложения, изображение выводится, но наблюдается нехватка ряда текстур и элементов.


Список поддерживаемых игр этой программой можно найти по этой ссылке.

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


Но работает эта программа с приложениями, использующими API DirectX не старше 9-й версии.

После ретро игр переходим к современным. Существует способ запуска DX11 и даже DX12 игр на видеокартах с поддержкой только 10-й DireсtX версии. Сюда, например, относятся видеокарты Nvidia 200-й серии, например 2-х гигабайтный GeForce GTX285, либо 2-х чиповый GeForce GTX295.


Бывают ситуации, когда в гараже или на даче стоит старенький компьютер, а вы захотели сыграть во что-то более-менее современное, но видеокарта не дает вам это сделать из-за таких программых ограничений. А ведь на ней можно поиграть в GTA 5 в FHD разрешении или побегать в тот же Fallout 4. И все это, прошу заметить, возможно на GeForce 200-й серии и аналогах от AMD.

Рецепт такой работы следующий. Необходимо скачать Windows SDK, найти его можно на официальном сайте Microsoft. После установки нужно перейти в каталог C:\Windows\System32 и запустить файл dxcpl.exe. В нем нажать на «Edit list. » и добавить exe нужной игры.

Затем необходимо выбрать Feature level limit того уровня, который вам нужен. Для DX 11 лучше брать 11.1, а затем включить Force WARP и Force On, после чего применить изменения. Результат должен получиться таким:


Вот так с помощью подручных программных средств можно решить ряд аппаратных проблем. Удачной всем игры на любых видеокартах!

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