DirectX 12: Новый этап в развитии игр

29 июля состоится релиз Windows 10. И в составе новой ОС мы увидим пакет API DirectX 12, который является эксклюзивным для данной версии.

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

Более детально обо всех изменениях и нововведениях мы расскажем вам в нашей статье, посвященной DirectX 12.

“Свершилась мечта всех любителей графония! Появилась поддержка нескольких видеокарт на уровне интерфейса! Причем совместно можно использовать не только видеоадаптеры, работающие в SLI или CrossFire, но и GPU встроенные в CPU, даже от разных производителей.”

С выходом Windows 10 всем станет доступна новая версия API DirectX, которая сильно изменит производительность в играх в лучшую сторону. В отличие от предыдущих версий, для работы вам не потребуется новая видеокарта, так как почти все выпущенные GPU за последние несколько лет будут иметь поддержку Dx12.

Новая версия интерфейса для игр и мультимедийных приложений, которая будет работать на всех устройствах Microsoft: смартфонах, планшетах, ноутбуках, персональных компьютерах и Xbox One. DX12, давая доступ разработчикам к низкоуровневому программированию и улучшенной многопоточности, позволит улучшить производительность уже имеющегося железа в играх. По данным AMD, использование нового API позволяет увеличить количество обрабатываемых объектов в 16.5 раз по сравнению с DX11 при той же частоте кадров. А встроенная поддержка DX12 в Windows 10 сулит ему невероятную популярность. (c) Windows 10 - Восемь самых важных нововведений для геймера


Про DirectX

Перед тем как детально рассказать про Dx12 и все нововведения, напомню, что же такое DirectX, из каких частей состоит весь пакет этого API.

DirectX (от англ. direct — прямой, непосредственный) — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновленные версии DirectX поставляются вместе с игровыми приложениями. (c) Wikipedia

Основной библиотекой, в которой чаще всего происходят изменения и внедрение новых технологий, является Direct3D. С каждым важным апдейтом этой библиотеки весь пакет DirectX получает новый индекс. Самые важные нововведения в Dx12 сделаны именно в ней. Остальные библиотеки тоже обновлены, но никаких новых технологий в них почти нет, хотя Microsoft обещают что-то новое в будущих обновлениях DirectX.

В целом пакет DirectX подразделяется на такие библиотеки:

  • Direct2D - интерфейс вывода двухмерной графики.
  • Direct3D (D3D) - интерфейс вывода трёхмерных примитивов.
  • DirectInput - интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
  • DirectPlay - интерфейс сетевой коммуникации игр.
  • DirectSound - интерфейс низкоуровневой работы со звуком (формата Wave)
  • DirectMusic - интерфейс воспроизведения музыки в форматах Microsoft.
  • DirectShow - интерфейс, используемый для ввода/вывода аудио- и/или видеоданных.

Каждая новая версия DirectX приурочена к определенному важному техническому прорыву. В основном это новые версии шейдерных моделей, которые поддерживаются только определенными поколениями GPU и версиями Windows.

Ключевые особенности версий:

  • DirectX 6.0 — Мультитекстурирование
  • DirectX 7.0 — Аппаратная поддержка преобразований, обрезания и освещения
  • DirectX 8.0 — Шейдерная модель 1.1
  • DirectX 8.1 — Пиксельные шейдеры 1.4 и вершинные шейдеры 1.1
  • DirectX 9.0 — Шейдерная модель 2.0
  • DirectX 9.0b — Пиксельные шейдеры 2.0b и вершинные шейдеры 2.0
  • DirectX 9.0c — Шейдерная модель 3.0
  • DirectX 10 — Шейдерная модель 4.0
  • DirectX 10.1 — Шейдерная модель 4.1
  • DirectX 11 — Шейдерная модель 5.0
  • DirectX 11.1 — Шейдерная модель 5.1
  • DirectX 12 — API низкоуровневого рендеринга, улучшенная многопоточность, поддержка нескольких GPU на уровне API

Особенности и новые технологии в DirectX 12

Низкоуровневый доступ
Если раньше интерфейс DirectX был нацелен на универсальность и не давало разработчикам прямого доступа к низкоуровневым функциям видеокарты, то теперь благодаря новым процедурам вызова, доступ к ним открыт, и даже больше – если разработчики не используют их, драйверы смогут автоматически оптимизировать их использование для решения стандартных задач. Благодаря такому подходу, использование специфичных технологий видеокарт позволит увеличить производительность даже в старых играх, портированных на DX12.

Многопоточная оптимизация
DirectX 12 – первая из всех версий, которая оптимизирована под многопоточность на низком уровне. Игры смогут более равномерно нагружать все доступные ядра CPU, в связи с чем повышается производительность игры в целом. Уменьшается время на обработку основного потока игры, и также позволяет вызывать больше Draw-call. В итоге – на том же железе можно отрисовывать в разы больше объектов без понижения частоты кадров. DX 12 выжмет из вашего ПК весь потенциал!

Оптимизация многопоточности CPU

Графики

Использование нескольких GPU
Свершилась мечта всех любителей графония! Появилась поддержка нескольких видеокарт на уровне интерфейса! Причем совместно можно использовать не только видеоадаптеры, работающие в SLI или CrossFire, но и GPU встроенные в CPU, даже от разных производителей. Игры будут обращаться не к конкретному GPU за обработкой графики, а ко всему массиву видеокарт, доступных в системе, как к единому GPU.

Подтверждения того, можно ли будет объединить две дискретные видеокарты от AMD или Nvidia, пока нет, но сами компании демонстрируют совместную работу APU+GPU от AMD, или встроенного видео ядра Intel + дискретной карты Nvidia GTX. Возможно, нас ждут кроссбрендовые связки или использование видеокарт разных поколений в одной системе, что положит конец многолетней войне фанбоев AMD и Nvidia.

Главным достоинством объединения всех GPU в один кластер является возможность обработки каждого отдельного кадра всем массивом, что устраняет проблемы совместимости игр с Multi-GPU, а также позволяет не копировать видеопамять каждого устройства, а использовать ее совместно, то есть теперь объём памяти нескольких видеокарт суммируется!

Использование всего потенциала eSRAM (только Xbox One)
eSRAM – особая высокоскоростная память, используемая в GPU Xbox One. Если раньше было специальное API для работы с ней, то сейчас эти процедуры и функции встроены в Dx12, а доступ к ней оптимизирован, и более прост для конечных разработчиков. Поэтому нас ожидает увеличение производительности консоли, а также увеличения качества и быстродействия в будущих играх.

Обратная совместимость с DirectX 11 видеокартами
Большинство современных видеокарт, которые поддерживают DX 11.1, полностью совместимы с DX 12. Более ранние видеокарты будут поддерживать новое API только частично. Сейчас более 70% видеокарт, которые есть у геймеров, будут иметь полную или частичную поддержку всех нововведений. Полный список видеокарт, совместимых с DX 12, по заявлениям производителей, будет представлен в конце статьи.

DirectX 12 + встроенные и low-end GPU
Все преимущества DirectX 12 будут доступны не только игровым ПК c видеокартами последнего поколения, но и устройствам с бюджетными видеокартами или даже встроенными в процессоры GPU, например, ноутбукам и планшетам. Тесты, произведенные на Surface Pro 3 с процессором Core i5 с встроенным Intel 4400 GPU, показывают прирост производительности свыше 50% в графических приложениях и играх на примере специального бенчмарка, в котором частота кадров увеличилась с 19 FPS до 33 FPS, при использовании нового API.

4k + DirectX 12
Также нас ждет оптимизация работы с высокими разрешениями, и при переходе на DX12 средний уровень повышения производительности в разрешениях 4k составит 30-40 процентов. Такие числа назвал главный разработчик Project CARS - Ian Bell.

Похожие технологии

До выхода Dx12 некоторые компании представили свои API, схожие по функционалу, но ориентированные на конкретные GPU определенного производителя или на другие графические библиотеки, такие как OpenGL.

Mantle — спецификация низкоуровневого API, разработанная компанией AMD в качестве альтернативы DirectX и OpenGL. В настоящее время поддерживается лишь графическими процессорами AMD архитектуры GCN, хотя есть вероятность, что другие производители GPU могли бы реализовать её в будущем, но в связи с выходом Dx12, который поддерживается всеми производителями GPU на рынке, вероятность этого крайне мала. Ну а последним гвоздем в гроб может стать то, что, судя по тестам проведенным самой AMD, Dx12 работает быстрее их собственной технологии на их же видеокартах.

Vulkan API - изначально был известен как «новое поколение OpenGL» или просто «glNext», но после анонса компания Khronos Group отказалась от этих наименований в пользу названия Vulkan. Как и OpenGL, Vulkan позволяет с высокой производительностью отображать в реальном времени различные приложения с 3D графикой, такие как игры или интерактивные книги, на всех платформах, а также обеспечивает более высокую производительность и меньшую нагрузку на процессор, аналогично Direct3D 12 и Mantle. Vulkan основан на технологиях AMD в Mantle. Как и в прошлом OpenGL, в будущем Vulkan станет единственной достойной альтернативой DirectX и будет поддерживаться Open Source объединениями и такими гигантами игростроя, как Valve.

Список видеокарт с поддержкой DirectX 12 в настоящее время

  • AMD Radeon™ R9 Series graphics
  • AMD Radeon™ R7 Series graphics
  • AMD Radeon™ R5 240 graphics
  • AMD Radeon™ HD 8000 Series graphics for OEM systems (HD 8570 and up)
  • AMD Radeon™ HD 8000M Series graphics for notebooks
  • AMD Radeon™ HD 7000 Series graphics (HD 7730 and up)
  • AMD Radeon™ HD 7000M Series graphics for notebooks (HD 7730M and up)
  • AMD A4/A6/A8/A10-7000 Series APUs (codenamed “Kaveri”)
  • AMD A6/A8/A10 PRO-7000 Series APUs (codenamed “Kaveri”)
  • AMD E1/A4/A10 Micro-6000 Series APUs (codenamed “Mullins”)
  • AMD E1/E2/A4/A6/A8-6000 Series APUs (codenamed “Beema”)
  • Nvidia Fermi (GTX 400, GTX 500)
  • Nvidia Kepler (GTX 600, GTX 700)
  • Nvidia Maxwell (GTX 700, GTX 900)
  • Intel Haswell (HD 5000, 4600, 4400 and 4200; Iris 5200 and 5100)
  • Intel Broadwell (HD 6000, 5600, 5500 and 5300; Iris 6200 and 6100)

Вместо заключения. Выводы

Если Microsoft и производители GPU выполнят свои обещания и не будут блокировать кросс-вендорные связки, как сейчас происходит с PhysX и Mantle, нас ждет технический прорыв. Спустя столько лет и разочарований вроде ПК версии Batman Arkham Knight, разработчики API и игр взялись за оптимизацию кода под имеющееся железо. Что еще нужно геймеру? Конечно, больше FPS бесплатно! Следующие поколения видеокарт будут оптимизированы еще больше под DX12 и будут иметь больше мегагерц и гигабайт, поддержку новых технологий, но играть комфортно в новые игры можно будет уже совсем скоро. Многие скажут, что игр под новый DirectX еще нет и не будет, и они будут почти правы. Но множество хитовых тайтлов этого года получат обновления для поддержки нового API после выхода Windows 10. А 90% игр, релиз которых состоится в конце этого года, уже заявили о его поддержке. А что будет на самом деле, узнаем в ближайшие месяцы, оставайтесь на связи!

Комментарии: 58
Ваш комментарий

уже год это слышно. дождемся реальных результатов

20

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

16

hardwaredude Как гласит современная история, все последние игр как раз и имею эту самую проблему и не важно какая производительная система у тебя

11

VictorSolomonov Как гласит современная история, все последние игр как раз и имею эту самую проблему и не важно какая производительная система у тебя И ты думаешь DirectX 12 спасёт тебя от кривых портов когда ты сам сказал "неважно какая производительная система у тебя"? Не спасёт. Если даже железо не спасает, то DirectX точно не спасёт. Если оптимизона нет, его просто нет, и DirectX прямые руки разрабов не заменит. ПЛЮС к этому более производительный DirectX просто даст разрабам возможность расслабится и халтурить ещё больше. Мол "А, так у тебя более производительный рендерер? Ну тогда можно расслабиться и сделать оптимизон ещё хуже". Ты так и не понял самого весёлого момента: как только производительность конечного пользователя увеличивается, разрабы ленятся всё больше. :) Так что производительность компа всегда будет пропорциональная ленивому и плохому оптимизону. :)

11

"Причем совместно можно использовать не только видеоадаптеры, работающие в SLI или CrossFire, но и GPU встроенные в CPU, даже от разных производителей.” Это типа intel hd graphics можно одновременно с каким нибудь gtx 980 использовать?

10

У меня все равно видюха не поддерживает DX12

9

наивные люди всегда ждут чудес, а потом им маркетологи популярно объяснят почему чудо не произошло и что виноват сам пользователь

8

Achmed the Dead Terrorist Это типа intel hd graphics можно одновременно с каким нибудь gtx 980 использовать? На раскатывай губу. Практической пользы от этого довольно мало, уже не говоря о приросте производительности.

6

Автор где DirectX 11.2 (Win 8.1) ??? Основная часть работ которые были проделаны с DirectX 11.2 связана в первую очередь с производительностью и эффективностью, и на прямую не коснется программистов. Ваши приложения будут быстрее работать и требовать меньше ресурсов. Тем не менее в Direct3D 11.2 API включено некоторое количество новых API: 1 - Поддержка аппаратных оверлеев: инструмент динамического масштабирования с интересными вариантами сценариев. 2 -Компиляция и линковка шейдеров HLSL в рантайме: возможность которая позволяет компоновать шейдеры во время выполнения, в том числе для приложений Windows Store. 3- Отображаемые в память буфферы: Возможность которая позволяет убрать необходимость дополнительных операций копирования данных при обмене данными с GPU 4 - API снижения задержек ввода: Механизм который позволяет значительно снизить время задержки между пользовательским вводом и выводом результатов на экран. 5- Тайловые ресурсы: Улучшение качества рендера с применением карт текстур.

6

DirectX 12: Новый этап в развитии игр Года через три наступит.. В самом начале будет использоваться минимум от него, как и 11ый, 11ый только крайтеки раскрыли своим Crysis 3 (PC).

6

75% маркетинга для заманивания простолюдина громкими цифрами.

6

Turok307 На xbox one он точно будет. Да и т.к. в ПС4 стоит АМД 7х версии, то там он тоже будет поддерживаться скорее всего.

5

пока на пека не увижу не попека поверю особенно использование мультигпу гпу сложения памяти без потери быстродействия ато 4 титана сложил 48 гигов наполучил. второе - это как будут пекать старые игры без унифицировано то апи то. дх8 тожи имеет программируемые шейдыры а оптимизации там даже под современные гигагерцовые видюхи нет.

4

ага, директ11 тоже был новым этапом, и что он принес? кроме выпуклых кирпичей на стенах, которые графона не делают

4

AMD снова лохонулись. У Nvidia есть в списке поддерживаемых видеокарты, выпущенные в конце 2009 года, у AMD - только с 2012.

4

Achmed the Dead Terrorist Правда даст тебе это 1 фпс.

4

Интересно будет ли поддержка sli и crossfire вместе? Чтобы можно было к примеру из серии r9 и gtx 900 взять две видеокарты и соединить их вместе)

4

hardwaredude Графику сильно улучшат, когда мощности высвободятся. Думай головой хоть. Skvizgar Только для 10.

4

monetkin Каждый производитель будет предлагать разные технологии и чтобы получить самую сочную картинку нужно будет собрать систему из всех этих продуктов.

3

TheNikolay00 Тени,например. Поиграй в игры с HBAO и без него. Так же сглаживание, тесселяция и т.д.

3

Мощные системы практически ничего не получат, а для слабых компов прирост всё равно будет маленьким для комфортной игры. Но ещё это будет только в том случае, если разработчики будут хотеть оптимизировать свои игры под dx12, ведь это всего лишь API и в нём нет ничего сверхъестественного. А с такими портами как сейчас можно будет надеяться максимум на процентов 5-10 прироста фпс.

3

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

3

Божественный пекашник так винда выйдит полностю 29.

3

Божественный пекашник там лежыт бета версия!

3

Turok307 На xbox one он точно будет. Да и т.к. в ПС4 стоит АМД 7х версии, то там он тоже будет поддерживаться скорее всего.

2

Интересно будет ли поддержка sli и crossfire вместе? Чтобы можно было к примеру из серии r9 и gtx 900 взять две видеокарты и соединить их вместе)

2

Божественный пекашник подержует частично!

2

Я вот не понял, 12ый только для десятки будет? или остальные ОС тоже поддерживать будет?

2

hardwaredude я про прирост производительности не спрашивал, просто интересно как это дело будет одновременно работать

2

Azazelius Через года два будет.

2

ахаха,чушь,фпс они повысят бесплатно,серьезно? железко то нужно продавать новое))

2

TheNikolay00 До 11 был SSAO. SSAO - алгоритм 10 версии, а HBAO - 11

2

Nikita507 они обещают, а уж на сколько не будет время покажет

2

walitor Графику сильно улучшат, когда мощности высвободятся. Думай головой хоть. Не графику улучшат, а оптимизон ухудшат. Улучшать графику и сейчас никто не мешает, вот прямо сейчас. Мощностей современных видеокарт вполне хватает. Однако не улучшают.

1

Андрей Гришман В конце года выйдут новые версии консолей с гораздо более мощным железом для 4К

1

как я понял, Дайрект12 не для графодрочеров, а для оптимизации игр хотя о какой оптимизации может идти речь, если в современных играх с каждым годом намеренно ухудшается совместимость со старыми картами, когда графика просто таже самая и при желании могла быть оптимизирована под карты 2010 года. дайрект12 только ради того, что бы опять покупали новые видюхи за сумасшедшие бабки и винду10.

1

Жду до белой седины ! XD

1

Нас ждут славные времена, гсопода!

1

EvgenTUZ Вряд ли на таком древнем железе будет полноценная поддержка.

1

Толку никакого. Работает только на самых мощных видеокартах.

1

Chek_ua Установил Windows 10 три дня на зад, в DxDiag пишет что версия DirectX 11.2)

1

Chek_ua На торрентах уже лежит.

1

Chek_ua Пацаны пишут что финальная версия уже. (Microsoft Windows 10 RTM Escrow 10.0.10240)

1

Божественный пекашник ок спс шяс обновлю свою лицензию 8.1 до 10

1

Sam Smith 4k не будет и на пс6

1

Бeтховен HBAO появился до выхода DX11, сглаживания новых алгоритмов не принес он, все используют древние FXAA, MSAA, а более новый SMAA работает и на DX9 и 10. Разве что тесселяцию, но она графона не делает

0

А, на видюхе NVIDIA 740м, будет работать ?

0

9 директх был действительно этапом а 10-11-12 жалкие его подобия...

0

Chek_ua Жаль, смысла теперь ставить 10 нет

0

Какой DirectX12 нафиг,у меня видео в HD 1080 подвисает!

0

Achmed the Dead Terrorist я про прирост производительности не спрашивал, просто интересно как это дело будет одновременно работать Проц свой лишный раз погреть и нагрузить без особого толку хочется?

0

kostr184 ну тебе нафиг а у меня две 780ти которые не тянут норм новый петман на ультра в 1440р!!!

0

hardwaredude Ну чем тебе не нравится, к примеру, Асасин Юнити? Там графон просто невероятный, красивые здания, в которых полигонов больше, чем в одном Кукурузисе 3, толпы людей(у которых тоже полигонов много) и очень красивое освещение. Один там недостаток, что дальность прорисовки не очень высокая, но оно и понятно, у Асасинов всегда беда с этим была.

0

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

-16

Че толку от этого dx12? Все игры делаются под консоли, пока его не завезут на консоли толку 0.

-22