Одной из самых важных задач при разработке игры выступает оптимизация для повышения производительности без существенной потери качества. Поэтому Microsoft на мартовском мероприятии GDC 2019 представила Variable-Rate Shading, которая стала частью API DirectX 12. Вначале аналогичную технологию продвигала NVIDIA под именем Adaptive Shading — она позволяет снизить нагрузку при просчёте периферийных объектов и зон с помощью снижения точности проводимых вычислений. При этом технология позволяет повышать детализацию там, где это необходимо.
VRS (слева) позволила в этой сцене Civilization VI повысить производительность на 14 % при одинаковом качестве.
Для вычисления цвета каждого пикселя на экране вызываются шейдеры. Показатель Shading rate указывает разрешение, в котором эти шейдеры просчитываются (оно не всегда равно разрешению экрана). Чем выше Shading rate, тем выше точность и нагрузка на ГП, и наоборот. Традиционно разработчики указывают единое значение Shading rate, так что все пиксели кадра рассчитываются с одинаковым качеством, но проблема в том, что не все они одинаково важны. Эту проблему и призвана решить VRS, разбивающая кадр на блоки, для каждого из которых разработчики могут использовать разные значения Shading rate: например, для пикселей, которые находятся в глубоких тенях, вдали от камеры или на периферии, вне фокуса внимания игрока. За счёт этого можно существенно повысить частоту кадров, незначительно потеряв в визуальном качестве.
Civilization VI с применением VRS: красные области — зоны, в которых Shading rate установлен в режим 1 × 1, а синие — 2 × 2
Ещё на GDC 2019 ряд компаний, в том числе Turn 10 Studios, Ubisoft, Massive Entertainment, 343 Industries, Stardock, IO Interactive, Activision и Epic Games, заявили, что внедрят в свои проекты Variable-Rate Shading. Также поддержкой технологий обзавелись графические ускорители NVIDIA Turing и Intel Gen11, а AMD запатентовала такой подход ещё в 2017 году. В общем, в будущих играх и консолях поддержка VRS будет едва ли не обязательной. Особенно растёт важность в подобных подходах в виду распространения экранов высокого разрешения 4K и в перспективе 8K, а также виртуальной реальности — благодаря отслеживанию взгляда система может снижать разрешение рендеринга к периферии, где человеческое зрение улавливает лишь общие детали.
VRS на движке Unreal Engine 4 в сцене Sun Temple на прототипе ускорителя Intel Gen11
Но как же сравнивать эффективность работы видеокарт в этом перспективном режиме? UL Benchmarks решила помочь с этой задачей, представив функциональный тест 3DMark Variable-Rate Shading. Функциональные тесты 3DMark призваны показать влияние конкретных технологий, методов и возможностей в специализированных задачах. Таковыми, например, выступают тест для оценки сглаживания NVIDIA DLSS, 3DMark API Overhead для оценки эффективности низкоуровневых API или 3DMark PCI Express 4.0 для демонстрации преимущества нового интерфейса.
Функциональный тест 3DMark VRS предназначен для сравнения производительности и качества изображения при использовании Variable-Rate Shading. Тест также предлагает интерактивный режим для экспериментов с различными настройками VRS и возможность экспорта кадров для детального сравнения. Сцена представляет собой лес с китайскими фонариками. В первом проходе VRS не используется, чтобы создать базовую картинку для сравнения.
А при втором прохождении уже применяется Variable-Rate Shading. Благодаря VRS операция с единичным пиксельным шейдером может быть применена к блоку пикселей: например для затенения блока пикселей 4 × 4 одной операцией, а не 16 отдельными. В 3DMark VRS показатель Rate Shading зависит от расстояния до камеры: для самых дальних объектов включается VRS 4 × 4 (синие области на изображении), 2 × 2 для геометрии на среднем расстоянии (зелёные области) и наиболее качественный 1 × 1 (красные области) — для ближайших объектов переднего плана.
Скриншот 3DMark VRS с визуализацией областей с разным уровнем качества VRS
Тест VRS станет частью пакета 3DMark уже 26 августа. Он будет доступен в виде бесплатного обновления для 3DMark Advanced Edition и для пользователей 3DMark Professional Edition с действующей годовой лицензией.