Не так страшен DirectX 12…

Не так страшен DirectX 12...

19 Апр, 2015

Начиная с 20 марта 2014 года, многие пользователи персональными компьютерами и в особенности геймеры, стали с нетерпением ожидать новую версию DirectX 12. В сети всплывает как официальная, так и инсайдерская информация касательно того, какими же характеристиками будет обладать долгожданная новинка и что она привнесет в компьютерный мир. Давайте попробуем разобраться в том, что нам обещают и что будет на самом деле.

Причины задержки

Главной причиной задержки DirectX 12 называют неудачное положение дел у компании Microsoft. Во-первых, были проблемы с неудачной версией Windows 8, которую публика проигнорировала, крах с мобильной платформой Surface и, конечно же, проблемы с сервисом Live.

После всех этих событий компания переключилась на изменение ситуации на рынке, ускорив разработку новой версии Windows и решение прочих задач. DirectX 12 отошел на задний план. Масло в огонь было подлито и компанией AMD, которая, воспользовавшись положением дел, выпустила свою версию программного интерфейса — Mantle. Но об этом позже.

Мнение экспертов

Эксперты придерживаются другого мнения, которое основывается на нежелании компании заниматься дорогостоящими разработками, так как игровая консоль Xbox 360 задержалась на рынке, а Microsoft хотела разрабатывать под Xbox One. Проще говоря, все дело в финансовой составляющей.

Какая именно версия является более правдивой сложно сказать, но факт остается фактом, выпуск 12 версии DirectX перенесен уже на середину 2015 года.

Что нас ожидает

Главное отличие нового API от предшественников заключается в снижении уровня абстрагирования «железа». DirectX 12 продемонстрирует другую модель программирования. Сотрудники компании Microsoft заявляют, что версия будет «приближенной к железу». Применяя подобную модель, разработчики собираются получить широкий доступ к разнообразным возможностям, которыми обладает графический чип.

Стоит сказать и о поддержке объекта состояния конвейера или PSO. Уделено внимание таблицам дескрипторов. Но главная новость состоит в том, что API получает новые возможности по конвейеру рендеринга. Такое изменение во много раз увеличивает производительность.

Показатели на DirectX 11
Показатели на DirectX 11
Показатели на DirectX 12
Показатели на DirectX 12

Состояние конвейера

Недостатком DirectX 11 была проблема с вызовом draw call. Программисты AMD быстро решили эту проблему в процессе разработки Mantle. В 12 версии эта проблема также была сведена к минимуму, но для этого пришлось переработать графический конвейер.

Пакеты и списки команд

Новая модель DirectX 12 по управлению нагрузкой GPU включает в себя пакеты и списки команд. В DirectX 11 все процессы GPU посылались через immediate context, который представлял собой однородный поток команд. Для многопоточности в играх используются и отложенные контексты, но они не подходят под архитектуру современных процессоров.

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

Наборы дескрипторов и таблицы

В DirectX 12 версии на смену обычной привязке к слотам, приходит модель, применяющая набор дескрипторов. В них игра будет вносить собственные представления ресурсов. Данный подход позволит GPU учитывать аппаратное описание в памяти. Чтобы определить конкретный ресурс конвейера для отрисовки, в играх будут указываться таблицы с дескриптами, представляющие собой подмассивы. Такой процесс будет понятен компьютерному железу, а значит, производительность растет.

От теории к практике

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

Сравнение D3D11, D3D12 и Mantle

В сети появилась информация о сравнении трех API, в разных условиях. Mantle на максимальных нагрузках показывает отличные результаты, однако D3D12 — универсальнее.

DirectX 11,12 и Mantle - сравнение производительности
Mantle показывает высокую эффективность. Источник: Anandtech

При этом стоит отметить, что компания AMD занялась активной пропагандой конкурентной API DirectX 12. Каковы причины таких метаморфоз не понятно, ведь «Мантия» явно обыгрывает продукт от Microsoft.

Есть мнение, что между Microsoft и AMD заключен договор о том, что технологии Mantle будут использоваться в D3D12, а значит, продукт будет увеличивать производительность видеокарт AMD. Об этом красноречиво говорит и недавно проведенный тест.

DirectX 12 эффективнее на AMD
AMD всеми способами убеждает в эффективности DirectX 12 на фирменных видеокартах. Источник: AMD

Интернет-ресурс AnandTech провел ряд испытаний, которые подтвердили эффективность D3D12. Исследования говорят о том, что видеокарты Nvidia получают производительнее на 150%, а AMD — на 400%. Речь здесь идет о приросте по отношению к 11 версии. При этом используется одно и то же железо.


Какой DirectX 12 установлен на вашем ПК? Ответ на этот вопрос дает службная утилита DxDiag. Найдите ее посредством по имени и запустите — она несколько секунд проверит конфигурацию и в итоге отобразит окно, подобное тому, что на скриншоте. 

Не так страшен DirectX 12...
DxDiag — служебная утилита, которая информирует об установленных драйверах видеокарт и DirectX 12.

Какие игры ожидаются на DirectX 12 в 2015 и 2016 году

Пока рано говорить о том, что именно ожидать, но есть информация о том, какие именно игры опираются на DirectX 12. Информация касается как PC, так и Xbox One. Судя по предоставленным скринам, игры будут поражать своей красотой и реалистичностью.

AMD Radeon r9 290x поддерживает DirectX 12
AMD Radeon r9 290x — одна из первых графических карт с поддержкой DirectX 12

Fable Legends

Эта игра — первая для Xbox One с использованием DirectX 12. Об этом заявил в своем Твиттере Фил Спенсер, руководитель подразделения Xbox. Этому проекту, впрочем, не повезло. Несмотря на то, что в декабре 2015 года разработчики обещали релиз в 2016 году, весной 2016 года Microsoft отменила игру. Лишь с января 2018 проект был возобновлен — разработкой занимается студия Playground Games.

Witcher 3, Ведьмак 3

Эта игра выйдет на Xbox и будет использовать D3D12, а перенос ее на PC платформу откладывается на неопределенный срок. Остается открытым вопрос операционной системы и конфигурации ПК, которая соответствовала бы требованиям игры.

Мультиплатформенный проект «Ведьмак 3: Дикая Охота» в жанре экшен/РПГ польской студии CD Projekt RED появился в 2015 году. Геральт из Ривии путешествует по фэнтезийному миру, смахивающему на средневековую Европу. Игра стала заключительной частью трилогии (хотя слухи о Ведьмак 4 все же появляются и достаточно часто…

Forza Motorsport 6

Эту игру вы видели на многих видео, посвященных D3D12. Она была портирована на PC и использует новые возможности DirectX 12. Игра была выпущена в середине 2016 года — это первый проект серии гоночных аркад Forza, доступный и на приставке Xbox One, и на ПК. Microsoft позднее адаптировала некоторые другие игры серии и для ПК.

Fable Legends
Fable Legends
Forza 5
Forza 5
Witcher 3
Witcher 3

В 2016-ом и последующем годах появились и другие игры с поддержкой DirectX 12. Среди них Civilization 6, Quantum Break, Rise of the Tomb Raider. В активной разработке находится и Star Citizen, который также поддерживает DirectX 12.

Выводы

Архитектура D3D12 определила основное направление для развития графических API. Начало этому положила компания AMD, разработав интерфейс Mantle.

Что именно нас ожидает, сложно сказать. Возможно, изменения будут еще глобальнее. Возможно, не такими выдающимися. В любом случае, компания Microsoft не первый раз откладывает выпуск продукта, а значит, есть либо проблемы с ним, либо же идет целенаправленное улучшение производительности.

В завершении стоит добавить, что финская компания Futuremark уже представила новый софт для тестирования производительности DirectX 12/Mantle-карт, следовательно, очень скоро появятся тесты самых разных новинок. Бенчмарк под названием API Overhead входит в состав 3DMark.

Остается ждать результата и надеяться на то, что DirectX 12 откроет новые возможности для игр. Windows 10, напомним, выходит летом 2015 года.

Оставить комментарий

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