Предыстория: Новые технологии в DirectX оптимизируют RT, повышая FPS
Microsoft выпустила обновление Agility SDK 1.619 — набор инструментов для разработчиков, который добавляет в DirectX 12 сразу несколько серьезных фич. Главное тут даже не сам факт обновления, а то, как разделились видеокарты по поддержке нового функционала и тут NVIDIA снова в лидерах, а AMD и Intel догоняют, но с оговорками. В свежем SDK обновили шейдерную модель и новая версия (Shader Model 6.9) позволит железу эффективнее работать со сложными сценами, быстро обсчитывать физику и освещение. Для геймеров это значит, что игры смогут выжимать больше кадров из карты без потери качества.
Но самое интересное — это DXR 1.2. Версия API для трассировки лучей обзавелась двумя killer-фичами: микрокартами непрозрачности (OMM) и переупорядочиванием выполнения шейдеров (SER). Микрокарты непрозрачности — позволят видеокарте меньше тупить на листве и сетчатых заборах. Раньше, когда луч упирался в полупрозрачный объект (ту же листву), запускался тяжелый AnyHit-шейдер, который вычислял, пробивать луч дальше или нет. Теперь OMM берет это на себя на аппаратном уровне. На официальных слайдах показан тест: без OMM сцена выдает 55 FPS, а с включенными микрокартами — уже 90. Это +63% производительности только за счет умной работы с прозрачностями.
Второй момент — Shader Execution Reordering (SER) графическому ядру группировать похожие задачи с лучами и выполнять их пачками, а не по отдельности. Особенно показателен пример с Alan Wake 2, где в одной из тяжелых сцен RTX 4090 без оптимизаций рендерит кадр за 16,8 мс (примерно 60 FPS), а с включенными SER и OMM время падает до 10,2 мс — это уже под 100 FPS.
Полная аппаратная поддержка OMM и SER пока доступна только на GeForce RTX 40 серии и новее. На RTX 30-й серии OMM будет работать в софтовой эмуляции, а SER на старых картах просто нет. На RDNA 3 (RX 7000) часть фич недоступна и полноценная поддержка DXR 1.2 и Shader Model 6.9 заявлена только для RDNA 4, но и тут нюанс: SER на картах AMD поддерживается на уровне API, но, как указано в спецификациях, не выполняет переупорядочивание (reordering). То есть формально поддержка есть, а по факту прироста от этой технологии не будет. Intel с Arc B-Series (Battlemage) выглядит неплохо: почти все фичи на месте, SER переупорядочивает лучи, как и у NVIDIA.
Рынок графики снова фрагментируется и игры, которые начнут активно использовать Shader Model 6.9 и DXR 1.2 (а такие появятся в ближайшие год-два), будут показывать совершенно разную производительность на картах разных поколений даже в рамках одного вендора. Если вы сидите на RTX 30 или Radeon RX 7000 и надеетесь, что софтовые обновления сделают из карты монстра — увы, магии не будет. SER и аппаратные OMM требуют конкретных блоков в GPU, а старые архитектуры их просто не имеют. Разработчикам теперь придется либо поддерживать старые методы (AnyHit-шейдеры), что не даст прироста, либо завязываться на новые фичи, автоматически отсекая владельцев старых видеокарт.
Как думаете, это нормальная практика — заставлять игроков менять видеокарту каждые два-три года ради новых технологий, или пора бы уже как-то унифицировать требования, чтобы видеокарты имели более долгий жизненный цикл? Делитесь мнением в комментариях.

