DirectX 11 или 12 – отличие версий

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

Скачать DirectX 11

Скачать DirectX 12

Что нового в DirectX 12

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

Касательно производительности. В DirectX 11 для графики отведён один поток, это для самого ресурсоёмкого компонента. За другие части игрового движка отвечают остальные ядра CPU: звук, сеть, управление персонажами, объектами, например, автомобили, животные. В итоге при работе на API DX 11 игра использует максимум 6 потоков, причём пара последних почти бездействует. Реальное максимальное количество потоком для Директ Икс 11 – два, это достаточно двухъядерного процессора с двумя, максимум четырьмя виртуальными потоками. Остальные будут простаивать.

Directx 11

12-я версия API, в отличие от 11-й, распределяет нагрузку между большим числом ядер, а саму обработку графики больше полагает на видеокарту. При этом задействуются все 8 потоков CPU, пускай и не равномерно, а часть расчетов передаётся тысячам ядер GPU. Это в несколько (но не 8) раз увеличивает производительность.

DirectX 12

Смотрим дальше. Ниже показана схема обработки данных при помощи DX11 – задачи выполняются последовательно: пока одна операция не завершится полностью, к выполнению следующей видеокарта не приступит.

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

Разделение задач

Ярче всего преимущества отрисовки виртуальных миров демонстрируют огромные открытые пространства, высокодетализированные объекты. В коридорах и иных закрытых местностях преимущества последнего API тают.

Технология рендеринга VRS и Mesh Shading, появившиеся в 12-м Директе, позволяют регулировать частоту шейдинга для разных областей картинки – снижать детализацию затенения на допустимых участках без ущерба качеству, но с выгодой для производительности.

Технология рендеринга

Ещё одно заметное улучшение DX12 – Sampler Feedback. Технология по принципу действия схожа с VRS: интеллектуально снижает нагрузку на видеокарту при наложении текстур. Особенно она ценна при прорисовке больших пространств.

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

Касательно производительности преимущества на стороне DX12, особенно при обработке высокополигональных моделей и больших пространств, он эффективнее задействует вычислительные мощности железа, в том числе благодаря VRS, Sampler Feedback и Mesh Shading.

12-я редакция API увеличивает нагрузку на процессор, но распределяет её более равномерно, чем предшественник – не нагружает одно ядро до максимума, заставляя остальные простаивать или работать налегке. Наибольший прирост заметят владельцы процессоров с медленным одним ядром, в первую очередь это касается чипов от AMD.

Игровые тесты

В играх разница между двумя версиями API в высоконагруженных сценах может достигать 40 – 80% по частоте кадров. Процессор при переходе на DX12 нагружается сильнее, но для обработки графики задействуется больше потоков / ядер, а не одно.

В старых и однопоточных игрушках, где производительности одного потока процессора хватает, и на CPU с очень мощным одним ядром зачастую выигрывает DirectX 11, хотя отличие редко превышает десяток процентов. Всё зависит от конкретной игры, конфигурации системы, режима и, основное, видеокарты.

Как заставить игры использовать DX11?

Atomic Heart, Fortnite, PUBG, Ведьмак 3 – все поддерживают DirectX12 и запускаются с применением этого API, но порой появляется необходимость поиграть с применением 11-й версии. Для этого откройте свойства ярлыка игрушки, во вкладке «Объект» допишите -dx11 через пробел после пути к файлу и сохраните.Свойства ярлыка

Также выбрать используемый API можно в настройках большинства игр, если они запускаются.

Игра Control вышла на DirectX 11 и 12, но вскоре разработчик удалил поддержку устаревающего API, лишив владельцев старых видеокарт (не совместимых с DX 12) возможности играть. Спустя пару часов после такого решения вышло очередное обновление, возвратившее DirectX 11 обратно.

Оправдан ли переход на DirectX 12: стоит ли его использовать?

Определённо стоит, но см. раздел с игровыми тестами. Если у вас процессор с высокопроизводительным однопоточным режимом, возможно, играть лучше на DirectX 11. В остальных случаях, за редким исключением, эффективнее новый API. AMD уделила ему большое внимание, поэтому видеокарты Radeon лучше себя показывают в DX12, чем конкуренты – дают большую прибавку в производительности.

Оцените статью
DirectX
Добавить комментарии

Нажимая на кнопку "Отправить комментарий", я и принимаю политику конфиденциальности.