Открыть сервис

DirectX 12 Ultimate

DirectX 12 Ultimate — это набор спецификаций и программных интерфейсов (API) для графических вычислений, разработанный компанией Microsoft и представленный в марте 2020 года. Он является расширением и преемником DirectX 12, объединяя в себе все ключевые технологии, внедрённые в консоли Xbox Series X/S и персональные компьютеры под управлением Windows 10 и Windows 11. Основная цель DirectX 12 Ultimate — унификация графических возможностей между ПК и игровыми консолями, что упрощает разработку игр и обеспечивает использование передовых графических эффектов на всех платформах.

История создания

Разработка DirectX 12 началась в 2014 году как ответ на растущую потребность в низкоуровневом доступе к аппаратному обеспечению, что позволяло разработчикам более эффективно управлять ресурсами графического процессора (GPU). К концу 2010-х годов стало очевидно, что для поддержки новых технологий, таких как трассировка лучей в реальном времени, требуется обновление API. Выход консолей нового поколения (Xbox Series X/S) в 2020 году потребовал единого стандарта, который бы объединил возможности ПК и консолей.

DirectX 12 Ultimate был анонсирован 19 марта 2020 года на конференции GDC (Game Developers Conference) вместе с выпуском Windows 10 версии 2004. Он стал обязательным стандартом для Xbox Series X/S и рекомендованным для Windows-ПК. Первая видеокарта, полностью поддерживающая DirectX 12 Ultimate, — NVIDIA GeForce RTX 30-й серии (сентябрь 2020 года), за ней последовали AMD Radeon RX 6000-й серии (октябрь 2020 года) и Intel Arc A-серии (2022 год).

Ключевые компоненты

DirectX 12 Ultimate включает четыре основных технологических компонента, которые вместе обеспечивают современные графические возможности.

Трассировка лучей (DirectX Raytracing, DXR)

DirectX Raytracing (DXR) — это API для аппаратно-ускоренной трассировки лучей, впервые представленный в DirectX 12 в 2018 году. В DirectX 12 Ultimate он стал обязательным требованием для сертификации. DXR позволяет моделировать поведение света в виртуальной среде, включая отражения, тени, преломления и глобальное освещение, с высокой степенью реализма. В отличие от традиционной растеризации, которая обрабатывает сцены как набор треугольников, трассировка лучей вычисляет путь каждого луча света от камеры до источника, что даёт более точные, но ресурсоёмкие результаты. DXR поддерживает два уровня: Tier 1.0 (базовый) и Tier 1.1 (с дополнительными возможностями, такими как инлайн-трассировка).

Затенение с переменной скоростью (Variable Rate Shading, VRS)

VRS — это технология, позволяющая динамически изменять частоту затенения пикселей в разных частях кадра. В DirectX 12 Ultimate реализован Tier 2, который даёт разработчикам возможность задавать скорость затенения для каждого блока пикселей (например, 1x1, 2x2, 4x4). Это позволяет снижать вычислительную нагрузку на GPU в областях, где детализация менее важна (например, на тёмных участках или вдалеке), и сохранять высокое качество в ключевых зонах (например, на лицах персонажей). VRS повышает производительность на 20–40% в зависимости от сцены.

Меш-шейдеры (Mesh Shaders)

Mesh Shaders заменяют традиционный конвейер вершинных и геометрических шейдеров, объединяя их в одну программируемую стадию. Это позволяет более эффективно управлять геометрией сцены, особенно при работе с большим количеством мелких объектов (например, трава, волосы, частицы). Mesh Shaders делятся на два этапа: амплитудный шейдер (amplification shader), который определяет, какие группы треугольников (меши) обрабатывать, и mesh-шейдер, который генерирует и обрабатывает сами треугольники. Это даёт прирост производительности при рендеринге сложных сцен с высокой детализацией.

Обратная связь с отрисовщиком (Sampler Feedback)

Sampler Feedback — это технология, которая позволяет GPU сообщать разработчику, какие тексели (текстурные пиксели) были запрошены при рендеринге. Это даёт возможность оптимизировать загрузку текстур, загружая только те участки, которые реально видны на экране. В DirectX 12 Ultimate реализован Tier 2, который включает поддержку потоковой загрузки текстур (texture streaming) и улучшенную фильтрацию. Это особенно полезно для игр с открытым миром, где текстуры высокого разрешения занимают много памяти.

Требования к оборудованию

Для полной поддержки DirectX 12 Ultimate необходимо, чтобы графический процессор (GPU) соответствовал спецификациям, установленным Microsoft. Основные требования включают:

  • Поддержка DirectX 12 Ultimate (все четыре компонента: DXR, VRS Tier 2, Mesh Shaders, Sampler Feedback Tier 2).
  • Аппаратная поддержка трассировки лучей (специализированные RT-ядра у NVIDIA, ускорители лучей у AMD, Xe-ядра у Intel).
  • Поддержка шейдерной модели 6.5 и выше.
  • Наличие драйверов, сертифицированных под Windows 10 версии 2004 и выше.

На практике полную поддержку DirectX 12 Ultimate обеспечивают видеокарты:

  • NVIDIA: GeForce RTX 20-й серии (частично, без VRS Tier 2 и Sampler Feedback Tier 2), GeForce RTX 30-й и 40-й серий (полная поддержка).
  • AMD: Radeon RX 6000-й и 7000-й серий (полная поддержка).
  • Intel: Arc A-серии (полная поддержка).
  • Консоли: Xbox Series X/S (полная поддержка).

Применение

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

  • Cyberpunk 2077 (2020) — трассировка лучей для отражений, теней и глобального освещения.
  • Metro Exodus Enhanced Edition (2021) — полная трассировка лучей (RTX) с использованием DXR.
  • Microsoft Flight Simulator (2020) — VRS для оптимизации производительности при рендеринге обширных ландшафтов.
  • Doom Eternal (2020) — поддержка VRS и Mesh Shaders для повышения частоты кадров.
  • Forza Horizon 5 (2021) — трассировка лучей для отражений в режиме Forzavista.

Кроме игр, DirectX 12 Ultimate применяется в профессиональных приложениях, таких как 3D-моделирование (Autodesk Maya, Blender) и архитектурная визуализация, где требуется высокая точность освещения.

Критика и ограничения

Несмотря на преимущества, DirectX 12 Ultimate имеет ряд недостатков. Во-первых, полная поддержка требует современного и дорогого оборудования, что ограничивает доступность для пользователей с устаревшими ПК. Во-вторых, реализация трассировки лучей в реальном времени остаётся ресурсоёмкой, и даже на мощных видеокартах (например, NVIDIA RTX 4090) может приводить к снижению частоты кадров в требовательных сценах. В-третьих, некоторые разработчики критикуют DirectX 12 Ultimate за сложность внедрения по сравнению с альтернативами, такими как Vulkan, который предлагает более низкоуровневый контроль и лучшую кроссплатформенность.

Кроме того, на момент выхода DirectX 12 Ultimate не все игры поддерживали все его компоненты, что приводило к фрагментации — часть игр использовала только DXR, игнорируя VRS или Mesh Shaders. Со временем ситуация улучшилась, но полная унификация ещё не достигнута.

Значение для индустрии

DirectX 12 Ultimate стал важным этапом в эволюции графических API, обеспечив единый стандарт для ПК и консолей. Это упростило разработку кроссплатформенных игр и стимулировало внедрение трассировки лучей и других передовых технологий. В сочетании с Xbox Series X/S, DirectX 12 Ultimate способствовал росту популярности технологий, таких как DLSS (Deep Learning Super Sampling) от NVIDIA и FSR (FidelityFX Super Resolution) от AMD, которые компенсируют высокую нагрузку от трассировки лучей.

Источники

  • Microsoft. "DirectX 12 Ultimate." Microsoft Docs, 2020.
  • NVIDIA. "DirectX 12 Ultimate: The Future of PC Gaming." NVIDIA Developer Blog, 2020.
  • AMD. "AMD Radeon RX 6000 Series and DirectX 12 Ultimate." AMD Community, 2020.
  • Intel. "Intel Arc Graphics and DirectX 12 Ultimate." Intel Developer Zone, 2022.
  • Wikipedia. "DirectX 12 Ultimate." Wikipedia, 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →