Directx 12 когда вышел

Обновлено: 04.07.2024

Уже 29 числа, с выходом Windows 10, станет доступна новая версия DirectX, которая обещает увеличить производительность в играх и не только. В отличие от DirectX 11, вам не потребуется покупать новую видеокарту, и это не может не радовать. DirectX 12 обещает работу на многих устройствах: на смартфонах, планшетах, ноутбуках, персональных компьютерах и Xbox One. Для последнего сама Microsoft предрекает увеличение производительности, даже по сравнению с PS4.

Что такое DirectX?

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

Нововведения в DirectX 12

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

Многопоточная оптимизация и разгрузка CPU
В марте 2014 года свет увидела большая (на то время) порция информации о новой версии API. Главной темой была оптимизация использования CPU, и в качестве примера были показаны результаты теста скорости вывода кадра в бенчмарке 3DMark. На скриншоте ниже можно увидеть сокращение скорости отображеня кадра в два (!) раза из-за оптимизации использования лишь CPU и более «умного» распределения ресурсов по ядрам.

DirectX 12: Чего ждать?

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

DirectX 12: Чего ждать?

DirectX 12: Чего ждать?

Использование нескольких GPU
Настал праздник для геймеров, имеющих встроенное видео ядро в своих процессорах, но не слишком мощную дискретную видеокарту. DirectX 12 позволит работать одновременно не только видеокартам с технологиями SLI или CrossFire, но и связкам «дискретная + интегрированная».

DirectX 12: Чего ждать?

Ходят слухи об объединении дискретных видеокарт разных производителей в связки, но подтверждений этому нет, да и мы знаем, как Nvidia не любит подобные решения.

Но и для владельцев известных связок есть приятная новость. Видеокарты работают одновременно, а не поочередности, а видеопамять ваших видеокарт суммируется. Теперь multi GPU системы имеют раздельный буфер, где доступна вся память видеоадаптера, а не общий, как раньше.

DirectX 12: Чего ждать?

DirectX 12: Чего ждать?

DirectX 12 и встраиваемые low-end GPU
Улучшение производительности, как и сам DirectX 12, будет доступно не только на суперсовременных игровых станциях, но и для относительно слабых встраиваемых решений. По тестам, проведенным на Surface Pro 3 с процессором Core i5, имеющим встроенное видео ядро Intel HD Graphics 4400, производительность увеличилась на 50%. Все благодаря более рациональному использованию GPU.

DirectX 12: Чего ждать?

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

DirectX 12: Чего ждать?

Обратная совместимость с DirectX 11 видеокартами
Большинство современных видеокарт, которые поддерживают DirectX 11, полностью совместимы с DirectX 12. Но, к сожалению, далеко не все смогут использовать все нововведения в новом API.

DirectX 12: Чего ждать?

  • Windows 10;
  • Видеокарта, совместимая с DirectX 12 API;
  • Видео драйвер, поддерживающий DirectX 12 API;
Имея этот набор, вам останется лишь дождаться выхода игр с поддержкой DirectX 12, чтобы проверить все самому.

Моя видеокарта поддерживает DirectX 12?

Список видеокарт с поддержкой DirectX 12 API:
*В этом списке предоставлены видеокарты, поддерживающие DirectX 12 API, но далеко не все из них поддерживают DirectX 12_0 и DirectX 12_1.

  • AMD Radeon™ R9 285, 290/290X, 295X2, M295X
  • AMD Radeon™ R7 260/260X
  • AMD Radeon™ HD 8770
  • AMD Radeon™ HD 7790
  • GeForce, GTX Titan X
  • GTX 980, GTX 980Ti
  • GTX 970
  • GTX 960
  • GeForce, GTX Titan X
  • GTX 980, GTX 980Ti
  • GTX 970
  • GTX 960

DirectX 12_0
Только GPU или архитектуры, специально разработанные для поддержки DirectX 12, будут поддерживать уровень функций DirectX 12_0, который содержит ряд новых технологий. Среди них – тайловые ресурсы Tiled Resources. В принципе, тайловые ресурсы известны ещё по DirectX 11, они отличаются высокой эффективностью по используемой памяти, а также могут значительно улучшить уровень детализации. С помощью мелких текстур в многократных ориентациях можно симулировать крупные текстуры. Кроме того, существенно экономится память. А качество картинки приносить в жертву не придётся.

В примере приводится классическая текстура Texture 3D под DirectX 11 с разрешением 1.200 x 600 x 600 пикселей с 32-битным цветом – она занимает 1,6 Гбайт. С тем же качеством можно использовать тайловую текстуру Tiled Texture 3D через многократные повторения – она будет иметь разрешение 32 x 32 x 16 пикселей с 32-битным цветом. Размер при этом будет составлять 156 Мбайт. В одном из примеров приведена сцена рендеринга, в которой тайловая 3D-текстура используется 2.500 раз. Для создания и симуляции некоторых материалов в 3D добавляется ещё одно информационное поле. Им может быть, например, значение прозрачности или вязкости. Такой подход позволяет лучше симулировать жидкости и газы.

Ещё один тип тайловых ресрусов – объёмные тайловые ресурсы (Volume Tiles Resources), однако они относятся к уровню функций уже не DirectX 12_0, а 12_1.

К уровню DirectX 12_0 относится Typed UAV и новая модель Bind, которые ориентируют API на большее число ядер CPU, что обеспечивает более широкую параллелизацию и производительность.

DirectX 12_1
Ещё на шаг дальше Microsoft и разработчики GPU пошли с DirectX 12_1. Но данный урвоень функций поддерживают только самые новейшие GPU. К ним относятся все GPU на основе 2-го поколения "Mawell". Одна из новых технологий – консервативная растеризация (Conservative Rasterization). Она используется для фильтра динамического суперразрешения (Dynamic Super Resolution) и сглаживания Multiframe Sampled Anti-Aliasing.

При растеризации небольшого объекта/пикселя в некоторых случаях лучше учитывать все покрытые точки семплирования, пусть даже частично. Также консервативная растеризация важна при вокселизации VXGI. Улучшенная методика наиболее заметна и при расчете теней.

Видео демонстрации DirectX 12:

Заключение
Все выглядит очень многообещающе. Для AMD в частности. AMD славится своими шести и восьми-ядерными процессорами – улучшена поддержка многоядерных процессоров. AMD имеет процессоры с хорошими графическими ядрами (APU) – мощности встроенной и дискеретной графики суммируются. Улучшена поддержка высоких разрешений, в которых даже не самые новые видеокарты от AMD и так хорошо себя чувствуют. Графика от Nvidia или Intel тоже не останется в дураках, все получат прирост производительности. Но на самом деле, больше от этого выиграем мы – игроки.

Остается надеяться, что игры с ужасной оптимизацией будут выходить реже, чем сейчас, а железо не придется апгрейдить так часто. Мечты-мечты :)

//Статья не является копипастой. Вся собранная тут информация была получена из общедоступных источников, обработана и описана в этой статье. Весь заимствованный контент имеет под собой ссылку на первоисточник.

Вслед за презентацией консоли Xbox Series X компания Microsoft представила свежее обновление своего API DirectX — DirectX 12 Ultimate. Если кратко, то в новой версии Microsoft объединила DirectX 12 и DirectX Raytracing (DXR) 1.1, а также добавила к официальным спецификациям некоторые расширения и функции. А ещё был обновлён логотип — Microsoft вернулась к римским цифрам.


А теперь давайте подробнее пройдёмся по каждому пункту. В состав DirectX 12 Ultimate вошло всё то, что уже было в составе DirectX 12_1, а также все составляющие DXR. Поэтому на данный момент отнюдь не каждая видеокарта сможет похвастаться поддержкой DirectX 12 Ultimate. Фактически, это могут себе позволить только видеокарты NVIDIA GeForce RTX 20-й серии. А вот у AMD поддержка новой версии API появится лишь в следующем поколении графических процессоров на архитектуре RDNA 2.


DirectX Raytracing 1.1 включает небольшие обновления изначального API DXR. Новая версия включает такие новые методы, как Inline Raytracing и непрямое выполнение лучей. Кажется, здесь разработчикам предлагается фактически то же самое, что и в вышедшем недавно Vulkan RT, то есть возможность запуска расчёта трассировки одного луча из шейдера, а не большой группы лучей. По сути, решение трассировки лучей здесь происходит прямо во время её выполнения, а не по заранее заданным направлениям, что требует меньше ресурсов.



Также частью DirectX 12 Ultimate стали такие функции, как Variable Rate Shading 2 (VRS 2), Mesh Shaders и Sampler Feedback. Вкратце напомним, что технология VRS обеспечивает прирост производительности за счёт выполнения более простых затенений в менее важных областях сцены. Mesh Shaders раньше было расширением NVIDIA, которое позволяло более эффективно обрабатывать большие объёмы данных. Наконец, Sampler Feedback позволяет более эффективно расходовать видеопамять — потенциально, «потребление» памяти игрой можно сократить до 10 % от обычного значения.


Ключевая цель DirectX 12 Ultimate заключается в том, чтобы предоставить разработчикам единую платформу для ПК и будущей Xbox Series X. Последняя, напомним, как раз станет носителем графического процессора с архитектурой AMD RDNA 2, так что уже довольно скоро не только NVIDIA сможет похвастаться графическими процессорами с поддержкой DirectX 12 Ultimate.


Для пользователей появление DirectX 12 Ultimate в первую очередь должно упростить выбор видеокарт. Если ускоритель поддерживает новую версию API, это означает, что он поддерживает полный набор современных функций, включая трассировку лучей, VRS и так далее. К тому же, пользователь будет знать, что видеокарта с DirectX 12 Ultimate будет иметь как минимум те же возможности, что и Xbox Series X. И хотя пока игр с поддержкой всех возможностей новой версии API нет, со временем они появятся, особенно с выходом новой консоли. Кстати, хотя PlayStation 5 тоже получит графику RDNA 2, у неё поддержки нового API не будет.

Microsoft анонсировала DirectX 12 в 2014 году, но никакой информации по совместимости тогда не предоставила. На момент анонса новой версии DirectX, последней версией Windows была Windows 8. Релиз Windows 10 состоялся только в 2015 году.

Изначально предполагалось, что Microsoft искусственно ограничит поддержку DirectX 12 и реализует ее только в Windows 8 и последующей версии Windows (тогда считалось, что это будет Windows 9).

В конце 2014 года Microsoft объявила, что Windows 10 действительно будет поставляться с поддержкой DirectX 12. Появились мнения, что новая версия DirectX не будет доступна для более ранних версий Windows. Эта информация была официально подтверждена на портале поддержки Microsoft. Для систем Windows 7 были доступны только DirectX 11.0 и 11.1, а для Windows 8.1 – DirectX 11.1 и 11.2.

Четыре года спустя, в начале 2019 года Microsoft неожиданно объявила о своих планах добавить поддержку DirectX 12 для ряда игр в Windows 7. Разработчики игр попросили Редмонд интегрировать DirectX 12 в Windows 7, чтобы воспользоваться дополнительными возможностями и снизить издержки на разработку.

Microsoft решила пойти навстречу разработчикам и приступила к портированию среды выполнения Direct3D 12 в Windows 7. Компания Blizzard, разработчик World of Warcraft и других популярных проектов, первой добавила поддержку DirectX 12 для своих игр в Windows 7. Игроки World of Warcraft получили возможность наслаждаться более высокой частотой кадров и другими улучшениями, связанными с использованием DirectX 12.

Первоначально возможности переноса игр DirectX 12 на устройства с Windows 7 были ограничены. Microsoft работала лишь с несколькими игровыми студиями, из которых в официальных анонсах упоминалась только Blizzard.

В августе 2019 года Microsoft выпустила новое руководство по разработке, чтобы позволить разработчикам запускать свои DirectX 12 игры в Windows 7.

Чтобы помочь создателям игр, мы публикуем следующие ресурсы, позволяющие разработчикам запускать свои игровые проекты DirectX 12 в Windows 7.

Чтобы подготовить свои игры DirectX 12 к запуску в Windows 7, разработчики могут ознакомиться с руководством «Porting D3D12 games to Windows 7». Данный материал разбит на несколько глав. В начале руководства приводится информация по файлам и драйверам, которые требуются для настройки среды разработки и тестовых машин. В других главах рассказывается, как настроить DirectX 12 игры для ПК Windows 7, приводятся советы по оптимизации и рекомендации по подготовке релиза.

Никогда не поздно?

Самый главный вопрос, который сразу же назревает: «Почему именно сейчас?». В январе 2020 года Windows 7 достигнет окончания срока поддержки и перестанет получать какие-либо обновления. Хотя компании могут на платной основе продлить поддержку до трех лет, они не являются основной целевой аудиторией игровых проектов.

С другой стороны, системы Windows 7 мгновенно не исчезнут в январе 2020 года. По аналогии с Windows XP, могут пройти годы, прежде чем рыночная доля операционной системы упадет ниже 10 процентов. Поэтому разработчики игр могут продолжать поддерживать Windows 7 даже после официального прекращения поддержки системы.

В любом случае, время для данного нововведения выбрано не самое удачное. Понятно, что изначально Microsoft хотела мотивировать геймеров переходить на Windows 10, сделав поддержку DirectX 12 эксклюзивной в своей новой ОС. Напомним, что прошлая аналогичная попытка в случае с Windows Vista и DirectX 10 Vista не сработала. Геймеры и разработчики игр преимущественно проигнорировали DirectX 10.

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

Когда геймеры приобретают графическое оборудование для ПК с логотипом DX12 Ultimate или Xbox Series X, они могут быть уверенными, что их оборудование гарантированно поддержит все функции графического оборудования всего поколения, включая DirectX Raytracing, затенение с переменной частотой, Mesh Shaders и Sampler Feedback.

Проще говоря, DirectX 12 Ultimate включает в себя все актуальные наработки в области компьютерных графических систем. Видеокарты GeForce RTX уже полностью поддерживают DirectX 12 Ultimate. Грядущие адаптеры AMD на архитектуре RDNA2 также будут поддерживать этот API и, конечно, его поддерживает и Xbox Series X. При этом владельцам всех остальных 3D-карт переживать не стоит, так как появление DirectX 12 Ultimate никак не повлияет на совместимость этих устройств с будущими играми.

Из особенностей DX12 Ultimate можно отметить API DirectX Raytracing (DXR) 1.1 — обновлённую версию DXR 1.0. Nvidia утверждает, что с приходом DX12 Ultimate игр с трассировкой лучей станет ещё больше.

Что касается остального, кратко напомним, о чём идёт речь. Технология переменной частоты затенения (VRS — variable rate shading) дает возможность динамически изменять разрешение при затенении пикселей на разных участках кадра для увеличения производительности.

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

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

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