DirectX — что это такое, как оно работает, где скачать

Разработка игр на платформе Unreal Engine 4 не требует больших вычислительных мощностей. Средний компьютер на Intel Core i3 и офисной видеокартой вполне справится с этой задачей. Но дьявол, как всегда, кроется в деталях. А детали в том, что вам помимо создания логики, проработки архитектуры и занятия другими не менее увлекательными вещами придется работать с трехмерной графикой.

⇡ Многопоточное исполнение инструкций драйвера

Результаты профилирования того же бенчмарка демонстрируют более эффективное распределение нагрузки на CPU между несколькими потоками. На диаграмме видно, что на четыре потока теперь распределяются операции не только самой программы 3DMark, но и драйвера графической карты — речь о компоненте, исполняемом в User Mode.

⇡ Многопоточное исполнение инструкций драйвера

Кроме того, если присмотреться к диаграмме, то можно заметить, что при использовании DirectX 12 пропадает компонент графического драйвера в Kernel Mode. Речь идет о низкоуровневой подсистеме Direct3D, которая включает менеджер видеопамяти, планировщик GPU, а также miniport driver, который производитель GPU должен предоставить для непосредственного доступа к функциям железа.

⇡ Многопоточное исполнение инструкций драйвера
⇡ Многопоточное исполнение инструкций драйвера

Таким образом, вся кухня Direct3D теперь полностью переместилась в User Mode. Сам по себе такой шаг негативно отразится на производительности, но, по идее, он должен быть скомпенсирован за счет более эффективной многопоточности, а также отсутствия смены контекста между User Mode и Kernel Mode.

⇡ Многопоточное исполнение инструкций драйвера

Что выбрать Vulkan или DirectX 12

Vulkan и DirectX 12 обеспечивают связь между игрой и оборудованием вашего ПК.

Что такое графический API?

API – это сокращение от интерфейса прикладного программирования. Когда речь заходит о видеоиграх на ПК, разработчики почти всегда используют один из популярных API для воплощения игр в жизнь на платформе. Эти API-интерфейсы позволяют разработчикам взаимодействовать с игровым движком без необходимости написания кода непосредственно для каждого конкретного варианта. Вместо того, чтобы разработчику приходилось писать уникальный код для Radeon RX 5700 XT, Radeon RX 580 и GeForce RTX 2080, графический API транслирует информацию и команды аппаратному обеспечению.

Что выбрать Vulkan или DirectX 12

Какой API мне выбрать?

Red Dead Redemption 2 предлагает как Vulkan, так и DirectX 12 API в своем графическом меню. Vulkan – это многоплатформенный API рендеринга, который поддерживается Khronos Group и основан на AMD Mantle API. Он использовался в таких играх, как Doom (2016), The Surge 2 и в различных игровых портах Linux. DirectX 12 был разработан Microsoft и используется компьютерами Xbox One и Windows. Известные игры DirectX 12 включают Gears of War 5, Metro Exodus и Resident Evil 2.

Нет визуальной разницы между Vulkan и DirectX 12.

В Red Dead Redemption 2 нет визуальной разницы между выбором Vulkan или DirectX 12. Единственная разница между ними заключается в том, как они взаимодействуют с оборудованием вашего ПК. То как игра работает с этими API-интерфейсами, может отличаться в зависимости от используемого оборудования. Исходя из самых ранних тестов, основанных на отчетах игроков, Vulkan предлагает немного более высокую среднюю частоту кадров (<5%), в то время как DirectX 12 предлагает немного более плавную работу в целом (особенно на видеокартах NVIDIA). Колебания частоты кадров менее интенсивны при использовании DirectX 12, поэтому на практике он может казаться немного более последовательным, даже если тесты показывают, что он немного отстает от Vulkan при расчете необработанных кадров.

В конечном счете, вы вероятно получите отличный опыт работы с любым из API. Переключение между двумя вариантами требует перезапуска игры, чтобы изменения вступили в силу.

Что выбрать Vulkan или DirectX 12

Поделитесь статьёй, помогите сайту!

  • Поделился в соцсетях
  • 1VKontakte
  • Telegram
  • Facebook
  • 7Twitter
  • Odnoklassniki

Чем отличаются версии DirectX

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

Читайте также:  Как исправить ошибку «Устройство USB не опознано» в Windows 10

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

Обратите внимание на красивые эффекты летящего снега из-под колес машины и мягкие тени в DirectX 11 версии (слева). Справа — гораздо более старая девятая. В принципе, такие эффекты, как мягкие тени и снег из-под колес можно реализовать, ограничившись технологией DirectX 9, но падение производительности будет ощутимым — в «девятке» нет ни оптимизации, ни грамотной реализации подобных эффектов.

Второй пример — игра Crysis 2:

Считается, что чем выше версия DirectX — тем лучше картинка. Но не стоит ожидать чуда — зачастую изменения не бросаются в глаза. На мой взгляд, главная причина столь малой разницы качества изображения в том, что сейчас игры разрабатываются одновременно для игровых консолей Xbox, Sony PlayStation и ПК. Приставки по сравнению с современными «персоналками» слабы в плане производительности и поддерживаемых технологий. В итоге мы играем на компьютере в игры, графика которых осталась на уровне года выхода консолей, любуясь на размытые текстуры и упрощенные эффекты. Да, есть игры, разработанные или доработанные для ПК, но таких единицы.

Типичный пример межплатформенности — игра Skyrim:

Разница в графике между Playstation 3 и Xbox360 заключается в деталях: на PS3 где-то воды капает мало, на Xbox 360 тени не реагируют на мерцающие источники света. На ПК (в видео обозначен как «Windows») таких проблем нет, плюс видны объекты на дальних расстояниях, но больше никаких улучшений нет. Позже разработчики выпустили набор текстур высокой четкости для ПК-версии игры, но кардинально графику это не улучшило.

Чтобы вы увидели, какую графику способен выдавать компьютер — пример игры, заточенной под использование всех возможностей видеокарты и процессора:

Видите разницу? Красивое освещение, четкие текстуры, плавные движения. Такой уровень детализации был бы недостижим с помощью устаревших технологий DirectX 9 — слишком много объектов находятся в кадре одновременно. Также присутствует много эффектов, которые реализуются силами видеокарт с поддержкой DirectX 10 как минимум.

Возможности графического движка игры Crysis 3:

Вопреки мнению некоторых пользователей, DirectX не улучшает графику в играх, а только дает возможность программисту сделать игру красивее. Если игра разрабатывалась для DirectX 9, то наличие DirectX 10-й версии ничего не изменит. Все зависит не только от возможностей видеокарты, но и от поддержки технологий игрой. Если все совместить — получится просто чудесная игра в плане графики.

DXfeature level is required to run the engine — возможные методы исправления ошибки

Для начала на всякий случай проверьте версию DirectX на вашем компьютере и версию WDDM, для этого нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows), введите dxdiag и нажмите Enter, согласитесь на проверку цифровых подписей и дождитесь окончания сбора информации. Обратите внимание на пункт «Версия DirectX», она должна быть не ниже 11.

Перейдите на вкладку «Экран» и обратите внимание на пункт «Модель WDDM», она должна быть не ниже 1.2, а лучше — 1.3 (если это не так, далее описанные шаги по установке драйверов, при условии наличия поддерживаемой видеокарты, это могут исправить) и, ещё более важное — на пункт «Уровни функций», как раз об отсутствии нужного уровня функций и сообщает нам ошибка. Если нужные уровни отсутствуют в списке, но видеокарта должна их поддерживать, возможно дело в драйверах и далее мы попробуем это исправить.

Читайте также:  Как выглядит PS5 и чем Digital Edition отличается от обычной версии?

В случае, если ваша видеокарта (дискретная или интегрированная) поддерживает необходимый уровень функций Feature Level DX11, в первую очередь выполните следующие действия чтобы исправить ошибку DX11 feature level 10.0 / feature level 11.0 is required to run the engine:

  1. Скачайте и запустите веб-установщик библиотек DirectX с официального сайта Майкрософт -ru/download/ — да, у вас на компьютере есть DirectX по умолчанию, но этот веб-установщик добавит в систему недостающие библиотеки.
  2. Установите последние драйверы для вашей дискретной и интегрированной видеокарты. Внимание: это нужно делать не нажатием «Обновить драйвер» в диспетчере устройств, а вручную скачав последние доступные для вашей видеокарты драйверы с официальных сайтов NVIDIA, AMD или Intel и установив их вручную. «Обновление» через диспетчер устройств может сообщать «Наиболее подходящие драйверы для данного устройства уже установлены» даже в случае когда по факту установлены «стандартные» драйверы Windows, не поддерживающие ничего, кроме отображения рабочего стола.
  3. После установки указанных компонентов перезагрузите компьютер.
  4. Проверьте запуск игры — если всё в порядке, а видеокарта действительно поддерживает нужные уровни функций Feature level, ошибка больше не появится.

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

В этом случае можно попробовать отключить более старую видеокарту в диспетчере устройств. Для выключения видеокарты:

  1. Важно: в случае ПК, предварительно выключите компьютер и подключите монитор к той видеокарте, которая останется включенной, например к интегрированному выходу видео на материнской плате — в противном случае при выключении видеокарты мы останемся без изображения. На некоторых (редко) конфигурациях ноутбуков с интегрированным и дискретным видеоадаптерами отключение одной из видеокарт может выключить монитор — не прибегайте к методу, если не уверены в способности решить проблему в случае появления.
  2. Нажмите клавиши Win+R на клавиатуре, введите и нажмите Enter.
  3. Внимание: если в разделе «Видеоадаптеры только одна видеокарта, не выполняйте этот и все остальные шаги, они вам не походят.
  4. В разделе «Видеоадаптеры» выберите отключаемую видеокарту, нажмите по ней правой кнопкой мыши и выберите пункт «Отключить устройство».
  5. Подтвердите отключение устройства.

После этого снова попробуйте запустить игру — теперь при запуске игра сможет использовать только тот GPU (видеокарту), которая осталась включенной и, если она поддерживает DX11 Feature Level 10 или Feature Level 11, игра запустится.

Ну и наконец самый неприятный вариант — когда совокупность характеристик из модели видеокарты и версии DirectX, даже при последних версиях драйверов не позволяет запускать игры с требуемым Feature Level, в этом случае устранить ошибку DX11 feature level 10.0/11.0 is required to run the engine (или to run the game) получится лишь заменив видеокарту (или систему, в случае старых версий DirectX на не поддерживаемых ОС).

Видео инструкция по решению проблемы

Надеюсь, инструкция оказалась полезной и помогла, если и не исправить, то разобраться и вникнуть в суть рассмотренной ошибки при запуске игр.

в Телеграм

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Нестандартные способы использования Android
  • Анимация окон Windows 10 в Stardock WindowFX
  • Как подключить Bluetooth наушники к ноутбуку или компьютеру
  • Как убрать рекламу в правом нижнем углу экрана Windows 10
  • Как скачать драйвер Intel HD Graphics
  • Лучшие ноутбуки 2021

Различия между DirectX и DirectX – и что выбрать

Итак, основным различием между DX9 и DX11 стала поддержка многопоточных вычислений. Впрочем, этим разница не ограничивается.

Параметр

DirectX 9

DirectX 11

Основная поддерживающая операционная система

Windows XP SP2

Windows 7

Поддержка шейдеров

Да

Да

Шейдерная модель

2.0

5.0

Оптимизация для многопоточных вычислений

Слабая

Сильная

Читайте также:  Как собрать look-alike аудиторию в Facebook

Таким образом, DX11 показывает лучшие визуальные результаты и повышенную производительность на современных видеокартах.

Что выбрать?

Если установленная компьютерная игра позволяет выбрать API для взаимодействия с «железом» (такое допускается в лончерах WoT и некоторых других проектов), то принимать решение следует исходя из нескольких параметров:

  1. Установленная операционная система. На Windows 7 DX11 является нативным интерфейсом, DX9 поддерживается, но его нужно устанавливать отдельно. На Windows XP SP2 нативный – DX9, а вот DX11 не поддерживается вообще;

  2. Установленная видеокарта. Если графический ускоритель ориентирован на работу с DX11 – стоит выбирать именно DX11;

  3. Желание получить впечатляющие визуальные эффекты. Если оно есть – лучше выбирать DX11.

В целом, по состоянию на апрель 2019 года – а именно тогда был написан данный материал – даже DX11 является устаревшим интерфейсом. Лучше выбирать DX12, так как он поддерживает наиболее свежую шейдерную модель и даже способен работать с трассировкой лучей – технологией, аппаратная реализация которой была представлена в 2018 году, и которая сделала игры невероятно реалистичными за счёт отражений, отблесков и длинных теней.

Результаты тестов

Результаты тестов

Все тесты были запущены несколько раз на каждом центральном процессоре. После этого мы взяли все оценки и вычислили средние значения. Мы увидели очень небольшую разницу между оценками, за исключением нескольких случаев, когда имели место системные ошибки. В этом случае результаты были отброшены и запущены повторно. Для удобства Intel 10900K использовался в качестве базового показателя, и оценки представляют собой то, насколько они быстрее или медленнее, чем этот процессор, в процентном соотношении. Но на графиках вы увидите время выполнения конкретной задачи в секундах. Перейдем к результатам.

Результаты тестов

Результаты рендеринга

На первой диаграмме вы видите общую оценку рендеринга, а на остальных – выполнение этой же задачи в разных рендерах 3ds Max.

Результаты тестов
Результаты тестов
Результаты тестов

Как видите, при рендеринге с помощью процессора ничто не может сравниться по производительности с AMD Threadripper. Мы протестировали рендеры Arnold, ART и Scanline, и во всех трех тестах процессоры Threadripper занимают первые места. Arnold был специально оптимизирован для многоядерных процессоров. Модели 3990X удается завершить рендеринг почти в 4.5 раза быстрее, чем 10900K, и более чем в 2.5 раза быстрее, чем флагманский Intel 10980XE.

С ART и Scanline результаты немного хуже, но Threadrippers по-прежнему намного быстрее, чем любой другой процессор. При этом интересно, что 3970X показывает результаты лучше, чем у 3990X. Даже AMD Ryzen 9 3950X превосходит все процессоры Intel в каждом тесте, что делает его фантастическим по цене вариантом.

Результаты тестов

Результаты симуляции

Результаты тестов

Опять же, сначала приведена общая оценка, затем оценки в разных режимах симуляции, которые есть в 3ds Max.

Результаты тестов
Результаты тестов

Для симуляции у нас есть два теста: моделирование ткани и моделирование жидкости Bifrost. В 3ds Max моделирование ткани требует более высокую тактовую частоту, поэтому мы видим, что Intel 10900K выходит вперед в соперничестве с AMD. С другой стороны, результаты Fluid Simulation немного неоднозначны. AMD Threadripper 3970X и 3960X занимают первое место с почти одинаковыми показателями, а 3990X находится ближе к низу.

Обратите внимание, что оба этих теста используют встроенные методы моделирования. Если вы используете сторонний плагин, такой как RealFlow, FumeFX или Phoenix FD, ваши результаты могут быть другими.

Результаты тестов

Результаты выполнения общих задач

Результаты тестов
Результаты тестов
Результаты тестов

Как видно из графиков, показатели 10900K лидируют во всех этих тестах. Если ваш рабочий процесс часто замедляется при выполнении основных задач моделирования, более высокая тактовая частота центрального процессора, даже если у него меньше ядер, может помочь вам ускорить процесс.