Сегодня 24 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

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

⇣ Содержание

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-частота согласно спецификациям каждого устройства. Видеокарты с заводским разгоном приведены в соответствие с референсными параметрами (или приближены к последним) при условии, что это можно сделать без ручной правки кривой тактовых частот. В противном случае используются настройки производителя.

Следующая страница →
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Надёжный инсайдер раскрыл, когда в Game Pass добавят Call of Duty: World at War и Singularity 9 мин.
Лавкрафтианские ужасы на море: Epic Games Store устроил раздачу рыболовного хоррора Dredge, но не для российских игроков 56 мин.
VK запустила инициативу OpenVK для публикации ПО с открытым кодом 2 ч.
CD Projekt Red объяснила, почему оставила мужскую версию Ви за бортом кроссовера Fortnite и Cyberpunk 2077 4 ч.
Открытое ПО превратилось в многомиллиардную индустрию 4 ч.
Слухи: в вакансиях Blizzard нашли намёки на Diablo V 5 ч.
Nvidia App получило обновление, которое исправило замедление игр — «тормозящие» фильтры теперь отключены по умолчанию 7 ч.
Microsoft перестала полагаться только на ИИ-разработки OpenAI 7 ч.
Индустрия компьютерных клубов в России по итогам 2024 года достигла 25 миллиардов рублей и «продолжит расти ещё в течение четырёх−пяти лет» 8 ч.
VK представила платформу OpenVK для публикации открытого ПО, причём не только своего 8 ч.