Оригинал материала: https://3dnews.ru/1085281

Твоя видеокарта устарела: тестирование Cyberpunk 2077 с трассировкой путей

Что такое Path Tracing. Методика и участники тестирования

CD Projekt RED сделала из Cyberpunk 2077 полигон для испытания новых технологий. В момент релиза игра уже могла похвастаться развитой моделью трассировки лучей, которая охватывает три ключевых аспекта изображения: глобальное (то есть непрямое) освещение, отражения и тени. Тем не менее, как и другие гибридные движки, RED Engine привлекает рейтрейсинг к изолированным операциям, в то время как основная часть рендеринга по-прежнему выполняется методом растеризации. Недавний патч 1.62 предлагает альтернативу этому, безусловно компромиссному, подходу в виде полностью трассированной симуляции освещения.

Cyberpunk 2077 — не первый проект такого рода. Ранее Quake II RTX и Minecraft уже продемонстрировали унифицированный транспорт света на основе алгоритма под названием Path Tracing («трассировка путей»). И хотя для современных видеокарт ни та ни другая игра уже не представляет собой непосильную нагрузку, они по-прежнему чрезвычайно требовательны, а ведь сцены Quake II и Minecraft даже с учетом всех новых материалов и шейдеров весьма бедны деталями по сравнению с современным тайтлом категории ААА. Трассировка путей в Cyberpunk 2077 подняла требования к железу на высоту, которая недоступна даже мощнейшим GPU нового поколения без определенных компромиссов.

#Path Tracing в Cyberpunk 2077

Перед тем как мы перейдем к результатам тестирования, будет уместна краткая справка о том, что представляет собой трассировка путей, чем она отличается от уже знакомой трассировки лучей и почему именно с этим алгоритмом связано будущее игрового рендеринга.

Трассировка лучей начинается с того, что из виртуальной камеры исходит один первичный луч на каждый пиксел финального кадра, который либо уходит за пределы сцены (что означает черный цвет пиксела, цвет скайбокса или другой результат по умолчанию), либо сталкивается с какой-нибудь поверхностью, материал которой диктует поведение лучей второго порядка. Если объект не является идеальным зеркалом, возникают вторичные лучи, соединяющие точку падения первичного луча со всеми источниками света для того, чтобы определить, получает ли она прямое освещение (лучи теней). Отражающие и прозрачные поверхности также выпускают лучи для расчета отражений и рефракции, которые, в свою очередь, сталкиваются с новыми поверхностями. Затем в идеальном случае работа продолжается до того момента, когда все вторичные лучи соединяются с теми или иными источниками света.

Но в действительности число лучей возрастает до бесконечности при отрисовке любой сколько-нибудь сложной сцены, поэтому рендерер всегда настроен на заданную глубину рекурсии — это ключевой фактор, от которого зависит качество финального изображения. Другую сложность для рейтрейсинга представляют поверхности, отражающие свет рассеянно, то есть в различных направлениях. Как следствие, правдоподобное моделирование косвенного освещения сводится либо к отслеживанию огромного количества вторичных лучей, либо к тем или иным формам аппроксимации с применением внешних алгоритмов.

Неудивительно, что самый распространенный и дешевый с точки зрения вычислительных ресурсов эффект, который реализован в играх на основе трассировки лучей, — это тени, для рендеринга которых в простейшем случае необходимо рассчитать лишь одно отражение луча на каждый пиксел кадра. Рендеринг зеркальных поверхностей и глобальное освещение также, как правило, сводятся к одному отражению каждого луча ради экономии ресурсов GPU и зачастую комбинируются с зондами, «запеченными» разработчиком в сцене, которые осуществляют аппроксимацию света локальных источников. Именно так, к примеру, работает исходная модель трассировки лучей в Cyberpunk 2077.

Несмотря на все перечисленные ограничения и «костыли», рейтрейсинг остается серьезной задачей для потребительских видеокарт. Теперь поговорим о том, что в этой ситуации меняет трассировка путей. Процесс трассировки лучей сам по себе полностью детерминирован, и потому глубина рекурсии, а также количество вторичных лучей, которые возникают в каждой точке отражения, в конечном счете определяют, насколько компьютерное изображение способно приблизиться к фотореализму. Path Tracing также опирается на трассировку лучей в качестве одного из компонентов модели, но с тем ключевым отличием, что в каждой точке пересечения с поверхностями происходит лишь одно отражение луча, причем в случайном направлении!

Однако хоть и в случайном, но не обязательно равновероятном. Каждая поверхность характеризуется своей функцией распределения — BRDF (Bidirectional Reflectance Distribution Function), форма которой означает, насколько зеркальным, матовым или прозрачным является материал. К примеру, идеально матовая поверхность действительно с равной вероятностью отразит луч под любым углом. Идеальное зеркало в 100 % случаев отражает луч под углом, равным углу падения. Но большинство материалов игровой сцены наверняка обладают промежуточными качествами, а значит, свойственная им функция BRDF предусматривает высокую вероятность отражения луча под определенным углом и относительно низкую — под другими углами (к чему, кстати, можно добавить и вероятность сквозного прохождения луча с преломлением).

Как следствие, в трассировку путей изначально заложена физически достоверная симуляция как прямого, так и рассеянного отражения света. Алгоритм не стремится найти единственно верное решение этой задачи, но постепенно приближается к нему, выпуская много (очень много) первичных лучей. Часть из них в пределах заданного разработчиком лимита отражений придет к тому или иному источнику света и тем самым внесет свой вклад в финальный цвет пиксела. Насколько точным окажется результат, зависит от числа первичных лучей, которое можно плавно настраивать под специфику задачи и вычислительный ресурс, а зернистый вид изображения при небольшом количестве лучей легко исправить шумоподавляющим фильтром.

Конечно, у трассировки путей есть свои ограничения. К примеру, она нуждается в избыточном семплинге, чтобы избежать шума при расчете оптических каустик (частным случаем которых является игра света в жидкой среде). А главное, это, безусловно, намного более требовательный способ рендеринга, чем гибрид растеризации с дозированным рейтрейсингом. Рекурсию в Cyberpunk 2077 ограничили всего двумя отражениями, тем не менее взрывной рост количества лучей (свыше 600 на каждый пиксел!) предъявляет колоссальные требования не только к эффективности RT-блоков современных GPU, но и к быстродействию их шейдерного массива.

Неудивительно, что CD Projekt RED ориентировалась в первую очередь на ускорители NVIDIA последнего поколения, у которых есть в избытке и то и другое. Однако даже чипам Ada пришлось немного помочь. Во-первых, Cyberpunk 2077 теперь использует функцию SER (Shader Execution Reordering), благодаря которой GPU способен перегруппировывать потоки вычислений для повышения однородности запросов к видеопамяти, а она пока доступна лишь через расширение проприетарного интерфейса NVAPI. Во-вторых, еще до трассировки путей в игру внедрили пакет технологий DLSS 3.0, который позволяет не только масштабировать кадры, но и генерировать добавочные при помощи самой нейросети — опять-таки лишь на ускорителях GeForce RTX 40-й серии, которые получили усиленную логику для вычислений оптического потока.

Что касается продуктов AMD, то, несмотря на большой прогресс архитектуры RDNA, в области трассировки лучей она по-прежнему на одно поколение отстает от достижений NVIDIA, и то при использовании гибридного рендеринга, а технология апскейлинга FSR по-прежнему никак не задействует логику матричных вычислений, представленную в ускорителях Radeon RX 7000. Нечего и говорить про дискретные видеокарты Intel, ведь это решения средней ценовой категории, а трассировке путей в Cyberpunk 2077 нужно железо высшего эшелона. К счастью, Path Tracing не является безальтернативной заменой гибридного рендеринга, а еще ее можно включить только в режиме фотокамеры.

Скриншоты ниже демонстрируют, как меняется изображение в зависимости от режима рендеринга: без трассировки лучей, с изолированным рейтрейсингом и с полной трассировкой путей. Что и говорить, Path Tracing полностью меняет некоторые кадры. Множественный перенос цвета с одной поверхности на другую и более реалистичное распространение солнечных лучей — все это бросается в глаза. Однако CD Projekt RED еще придется поработать над отражающими свойствами отдельных материалов, а некоторые места города, похоже, были спроектированы без учета корректной модели освещения и в результате производят совсем не то впечатление, что раньше, — это типичная проблема игр, которые перевели на трассировку путей уже после релиза.

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

RT выкл.

RT: Psycho

Path Tracing

#Тестовый стенд, методика тестирования

Тестовый стенд
CPU AMD Ryzen 9 5950X (4,4 ГГц, фиксированная тактовая частота всех ядер)
Материнская плата ASUS ROG Strix X570-E Gaming (Resizable BAR вкл.)
Оперативная память G.Skill Trident Z RGB F4-3200C14D-16GTZR, 4 × 8 Гбайт (3600 МТ/с, CL16)
ПЗУ Intel SSD 760p, 2048 Гбайт
Блок питания Corsair AX1200i, 1200 Вт
Система охлаждения CPU Corsair iCUE H115i RGB PRO XT
Корпус Открытый стенд
Операционная система Windows 10 Pro x64
ПО для GPU AMD
Все видеокарты AMD Radeon Software Adrenalin Edition 23.4.1
ПО для GPU NVIDIA
Все видеокарты NVIDIA GeForce Game Ready Driver 531.61
ПО для GPU Intel
Все видеокарты Intel Graphics Driver 31.0.101.4255

Тестирование производительности выполнено с помощью встроенного бенчмарка Cyberpunk 2077. Показатели средней и минимальной кадровых частот выводятся из массива времени рендеринга индивидуальных кадров, который игра записывает в файл результатов.

Средняя частота смены кадров на диаграммах является величиной, обратной среднему времени рендеринга кадра. Для оценки минимальной кадровой частоты вычисляется количество кадров, сформированных в каждую секунду теста. Из этого массива чисел берется значение, соответствующее 1-му процентилю распределения.

За основу настроек графики мы взяли пресет Ultra, который приводит к максимальным значениям все индивидуальные параметры, кроме качества отражений в экранном пространстве: последняя опция вызывает чрезвычайно сильное падение кадровой частоты при растеризованном рендеринге, но не имеет никакого значения в условиях частичного или полного рейтрейсинга.

#Участники тестирования

Прим. В скобках после названий видеокарт указаны базовая и boost-частота согласно спецификациям каждого устройства. Видеокарты с заводским разгоном приведены в соответствие с референсными параметрами (или приближены к последним) при условии, что это можно сделать без ручной правки кривой тактовых частот. В противном случае используются настройки производителя.

Результаты тестирования. Групповые тесты в других играх

#1920 × 1080

Первые же тесты — при разрешении 1080p, которое теперь считается низким, — продемонстрировали, насколько велики запросы полностью трассированного рендеринга к возможностям GPU. Забудьте о прошлых реализациях трассировки путей в играх — таких как Minecraft и Quake II RTX. Cyberpunk 2077 — вот ультимативный бенчмарк для видеокарт нового поколения. Единственное устройство, которому удалось преодолеть границу в 60 FPS, причем с запасом в 11 FPS, оказался GeForce RTX 4090. Из всех остальных участников тестирования даже GeForce RTX 4080 не достиг заветного рубежа, остановившись на 49. В свою очередь, результат предтоповой модели 30-й серии, GeForce RTX 3090, составляет 36 FPS — меньше, чем у RTX 4070 Ti.

Видеокарты AMD на чипах Navi третьего поколения развивают неплохую производительность в условиях гибридного рендеринга, но были отброшены назад под нагрузкой трассировки путей. Radeon RX 7900 XTX занял скромную позицию ниже GeForce RTX 3060 Ti, а Radeon RX 7900 XT по быстродействию сопоставим с флагманом 20-й серии GeForce, RTX 2080 Ti.

Radeon RX 6900 XT может соперничать лишь с GeForce RTX 3050, GeForce RTX 2060 SUPER и RTX 2070: результаты этих устройств лежат в границах 9–10 FPS. Radeon RX 6800 заслужил место на графике с кадровой частотой 7 FPS — как у GeForce RTX 2060, самого маломощного ускорителя под маркой RTX.

Наконец, продукты Intel — Arc A750 и Arc A770 — замыкают перечень соперничающих устройств с результатами 4 и 6 FPS соответственно.

Очевидно, что в Cyberpunk 2077 с трассировкой путей та или иная форма апскейлинга необходима почти всем современным видеокартам. К счастью, эта игра может предложить наиболее подходящий способ масштабирования кадров любому из современных GPU: DLSS 3.0 — устройствам NVIDIA, FSR 2.1 — AMD и XeSS — интеловским ускорителям. Участники сравнения прошли повторный тест — каждый при использовании «родной» технологии — с настройкой апскейлинга Balanced, которая предусматривает соотношение около 1,7 по каждой стороне между размером исходного и финального кадров.

Благодаря DLSS кадровая частота 60 FPS покорилась таким видеокартам, как GeForce RTX 4070 и GeForce RTX 3080. А вот «красные» ускорители остро нуждаются в более агрессивных настройках FSR, которые, увы, связаны со значительными потерями качества изображения, особенно при разрешении 1080p. Так, Radeon RX 7900 XTX удалось увеличить фреймрейт лишь до 41 FPS, а Radeon RX 6900 XT — до 26.

Интеловская технология XeSS в Cyberpunk 2077 работает чрезвычайно эффективно: благодаря ей результаты Arc A770 возросли с 6 до 15, а у Arc A750 — с 4 до 9 кадров в секунду. Жаль, что этого все еще совершенно недостаточно для комфортной игры. Среди «красных» видеокарт нижняя позиция графика принадлежит Radeon RX 6600 (11 FPS), а среди «зеленых» — GeForce RTX 2060 (16 FPS). Из Radeon RX 6500 XT, а также Intel Arc A380 — самых маломощных устройств с функцией аппаратного рейтрейсинга — нам не удалось выдавить даже 4 кадров в секунду.

#2560 × 1440

При разрешении 1440p даже владельцам GeForce RTX 4090 придется довольствоваться компромиссной частотой смены кадров 45 FPS, в то время как RTX 3090 остановился на отметке 21. Флагманский продукт AMD — Radeon RX 7900 XTX укрепил позиции по отношению к устройствам NVIDIA 30-й серии, однако занимает по-прежнему скромное место с результатом в 10 FPS между GeForce RTX 2080 Ti снизу и RTX 3070 сверху на шкале производительности.

Список устройств, достигших кадровой частоты хотя бы в 4 FPS, которую мы взяли за точку отсчета, чтобы не затягивать общий процесс тестирования, изрядно сократился под давлением повышенной вычислительной нагрузки. Наименьший результат среди «зеленых» видеокарт, сохранивших место на графике, теперь принадлежит GeForce RTX 2060 SUPER (4 FPS), а среди «красных» — Radeon RX 6800 XT (5 FPS). Интеловские дискретные GPU сошли с дистанции при рендеринге в нативном разрешении.

При использовании апскейлинга GeForce RTX 4080 достиг кадровой частоты выше 60 FPS, чего нельзя сказать о GeForce RTX 4070, RTX 4070 Ti и всех представителях 30-го семейства. Даже GeForce RTX 3090 развивает компромиссный фреймрейт в 52 FPS. В свою очередь, GeForce RTX 2080 Ti нарастил производительность до 22 FPS — немногим меньше, чем у Radeon RX 7900 XTX.

Нижние места на диаграмме заняли GeForce RTX 2060 и Radeon RX 6700 XT с результатами в 7–8 FPS. К этой же категории быстродействия относятся продукты Intel: 5 FPS у Arc A750 и 9 FPS у Arc A770.

#3840 × 2160

Как и следовало ожидать, только горстке самых высокопроизводительных ускорителей удалось завершить бенчмарк при разрешении 4К за приемлемое время, не говоря уже о возможности нормальной игры. GeForce RTX 4090 остановился на отметке 21 FPS, а GeForce RTX 3090 — 10. Из всех «красных» моделей на график попала одна — Radeon RX 7900 XTX с результатом в 4 FPS, да и GeForce RTX 3080 оказался лишь на 1 FPS быстрее.

Апскейлинга с коэффициентом 1,7 уже недостаточно в 4К, чтобы преодолеть нехватку сырой вычислительной мощности GPU. Даже GeForce RTX 4090 в режиме DLSS Balanced обеспечивает частоту смены кадров немногим выше 50 FPS. Что и говорить про Radeon RX 7900 XTX с его результатом в 12 FPS или Radeon RX 6900 XTX (7 FPS).

Как бы то ни было, слабым видеокартам масштабирование дает наиболее значительный рост фреймрейта, благодаря которому на графике удержались такие устройства, как GeForce RTX 2060 SUPER, Radeon RX 6800 и Intel Arc A750.

#Выводы

Давненько мы не сталкивались с игрой, в которой любое актуальное железо, кроме одной, самой дорогой и высокопроизводительной видеокарты, не развивает кадровую частоту выше 60 FPS даже при низком по действующим стандартам разрешении экрана. Не зря полный рейтрейсинг в Cyberpunk 2077 преподнесли всего лишь как демонстрацию новой технологии.

Однако несмотря на любые будущие оптимизации со стороны как самого движка Cyberpunk 2077, так и драйверов GPU, трассировка путей в настолько сложном окружении всегда будет чрезвычайно требовательным методом рендеринга. Даже владельцы GeForce RTX 4090 вряд ли покупали такую видеокарту для того, чтобы удовлетвориться игрой при разрешении 1080p и частотой смены кадров на грани 60 FPS. Апскейлинг DLSS по меньшей мере с коэффициентом масштабирования Balanced необходим всем «зеленым» ускорителям. Вот где пригодится функция генерации промежуточных кадров, которую предлагает третья версия DLSS — увы, только на видеокартах 40-й серии.

Что касается продуктов AMD, то они уже не так сильно отстают от своих «зеленых» конкурентов в трассировке лучей, но полная трассировка путей — не то же самое, что гибридный рендеринг, знакомый по множеству других игр. В результате даже флагманский Radeon RX 7900 XTX был отброшен на уровень GeForce RTX 2080 Ti — видеокарты NVIDIA двумя поколениями старше. А настолько же качественного метода апскейлинга, как DLSS, чтобы обеспечить прирост фреймрейта за счет крупных коэффициентов масштабирования без ощутимого вреда для качества картинки, в распоряжении AMD все еще нет.

Наконец, дискретные ускорители Intel Arc не удостоились ничего большего, чем сноска на полях этого обзора. Хотя интеловские чипы располагают более мощной логикой трассировки лучей, чем кремний Radeon 6000-й серии (и это заметно по результатам), а масштабирование XeSS — еще одно дополнение к Cyberpunk 2077 — весьма эффективно, у них попросту не хватает чистого быстродействия для нормальной игры.

#Групповые тесты видеокарт в других играх

3DNews регулярно проводит массовые тесты графических карт в популярных играх. Если вы хотите узнать, как современные модели и устройства прошлых поколений работают в других проектах, к вашим услугам архив бенчмарков:



Оригинал материала: https://3dnews.ru/1085281