Развитие DirectX 12: десять лет инноваций в мире графики
В конце лета 2014 года компания Microsoft анонсировала выход Windows 10, который был запланирован на следующий год. Одновременно с этим стало известно, что новая операционная система станет платформой для еще одного крупного программного релиза — DirectX 12. Прошло десять лет с тех пор, как оба продукта официально увидели свет. Хотя Windows 10 уже завершила свою жизненную цикл, DirectX 12 продолжает оставаться самой обширной коллекцией графических API в истории.
В честь этого события Microsoft опубликовала блог, в котором рассказала о ключевых улучшениях и обновлениях, которые DirectX 12 получил за эти годы. Для некоторых из нас, кто давно работает с ПК, кажется, будто это было совсем недавно, когда новая версия API вышла в свет.
Однако, десять лет — это долгий срок в мире ПК-гейминга. Например, в 2015 году четырехъядерный процессор Intel i7 6700K считался лучшим для игр. Но с тех пор компания Intel выпустила девять новых поколений процессоров, а предпочтения геймеров в выборе процессора сменились в пользу AMD.
Ситуация с графическими картами сложилась иначе. Nvidia сохраняет лидирующие позиции на рынке игровых GPU. В те времена, если у вас были средства, вы могли приобрести GeForce GTX Titan X за $999 или двухчиповую Radeon R9 295X2 за $1,499. С тех пор вышло всего пять поколений GeForce, и многие из нас мечтают о таких же доступных ценах на мощные модели.
Несмотря на эти изменения в аппаратной части, DirectX 12 оставался неизменным в своем названии, но, как отмечает Microsoft, API претерпел множество улучшений, особенно в графической составляющей интерфейса программирования приложений.
DirectX 12, или более конкретно Direct3D 12, отличается тем, что предоставляет программистам максимальную гибкость, контроль и доступ к оборудованию. Каждое крупное дополнение и обновление расширяло эти возможности. В 2018 году в пакет добавили DirectX Raytracing (DXR), а в последующие годы — переменное затенение, шейдеры мешей и обратную связь текстурного сэмплера в обновлении DirectX 12 Ultimate.
В 2021 году были добавлены AutoHDR и DirectStorage, хотя последний полноценно появился лишь в следующем году. Следует признать, что AutoHDR не произвел революции в мире игр, а DirectStorage используется в немногих играх, таких как The Last of Us Part 2.
С изменением архитектуры GPU, DirectX 12 получил дополнительные функции: графы работ в 2024 году, а также переупорядочение выполнения шейдеров и кооперативные векторы в 2025 году.
Все эти дополнения делают DirectX 12 самой обширной коллекцией программных инструментов и API для игровой графики, хотя некоторым кажется, что это только усложняет создание рендеров, работающих на любом оборудовании.
Что ждет DirectX в будущем?
Что же насчет будущего DirectX? Где DirectX 13? После десяти лет Microsoft могла бы представить новую версию, даже если это будет просто ребрендинг текущего пакета. На мой вопрос о DirectX 13 представитель Microsoft, Шон Харгривз, ответил не очень ясно: "Технологии постоянно развиваются, и DirectX будет развиваться вместе с ними. Мы стремимся к тому, чтобы DirectX оставался ведущим в отрасли графическим API, тесно сотрудничая с инновациями в графическом оборудовании и предоставляя разработчикам возможности и гибкость, необходимые для реализации их творческого видения. На данный момент у нас нет информации о новой версии DirectX."
Это не "нет" для DirectX 13, но и не намек на то, что когда-либо появится новая версия. DirectX 12 может официально быть десять лет, но по сути это уже не просто DirectX 12.
Часть ответа на вопрос, почему нет DirectX 13, заключается в том, что рендеринг, основанный на вычислениях, не всегда лучший выбор для разработчиков игр. Например, Baldur's Gate 3 использует DirectX 11 или Vulkan для графики, и хотя последний так же низкоуровнев и сложен как DirectX 12, игра не работает и не выглядит лучше с этим API.
Харгривз также отметил: "Вычисления набирают обороты, особенно для последних и лучших техник рендеринга. Многое из того, что эволюционировало за последние годы, начиная с трассировки лучей, затем шейдеров мешей, а теперь и графов работ, сосредоточено на улучшении вычислительных возможностей."
Лично я не удивлюсь, если в 2035 году мы будем праздновать 20-летие DirectX 12. Ведь DirectX 11 уже 16 лет и он по-прежнему востребован.

Удивительно, что DirectX 12 уже 10 лет! Хотя в мире технологий это вечность, API продолжает быть актуальным и совершенствоваться. Интересно, смогут ли другие графические интерфейсы догнать его по популярности и возможностям в ближайшие годы?
Интересный обзор! Было бы здорово увидеть DirectX 13, но, похоже, Microsoft сосредоточена на улучшении текущей версии. Надеюсь, новые технологии, такие как трассировка лучей и шейдеры, станут более доступными для разработчиков и пользователей.