В этой статье мы расскажем о технологии трассировки лучей в играх, как она работает, что дает геймеру, а также поразмышляем, пригодится ли она вообще. Ответ на этот вопрос, кстати, не такой очевидный, как кажется на первый взгляд. Но обо всем по порядку. Время прочтения статьи — 8 минут.
О технологии
В игровой индустрии технология трассировки лучей появилась на видеокартах NVIDIA серии RTX, которые компания представила в августе 2018 года. Эти адаптеры работают на архитектуре Turing, названной в честь английского математика Алана Тьюринга. Поддержка трассировки лучей стала фишкой этой серии, которая на данный момент является самой производительной среди всех семейств видеокарт NVIDIA.
Что же это за технология и как она работает? В реальной жизни мы видим окружающие вещи благодаря тому, что лучи света отражаются от них и попадают на нашу сетчатку. Технология трассировки лучей (которая сокращенно называется RTX, как и линейка видеокарт) предусматривает тот же самый процесс, но уже в играх. Алгоритмы трассировки вычисляют траекторию каждого луча света от объекта до камеры, а видеокарта выводит на экран картинку с учетом этих расчетов. При этом во внимание берутся свойства поверхности: одни материалы отражают свет лучше, другие хуже, стекло преломляет лучи и т. д. Это дает возможность точно передавать освещенность предметов, их тени, преломления, рассеивание света и вообще придавать изображению на экране более реалистичный вид, чем при обычной растеризации (существующем способе создания картинки для игр).
Загвоздка в том, что для работы алгоритмов трассировки нужны большие вычислительные ресурсы. Например, один кадр анимационного фильма с использованием технологии трассировки лучей может рендериться сутки и больше. В играх, конечно, такой подход не годится — тут надо в реальном времени выдавать комфортное количество кадров в секунду (желательно, не меньше 40 FPS). Поэтому сейчас в играх используется гибридная модель, где трассировка лучей применяется только к отдельным объектам. И то, для этого нужны самые мощные видеокарты.
На данный момент таковыми являются только графические ускорители NVIDIA серии RTX. В них есть специальные ядра, отвечающие именно за трассировку, что позволяет выводить скорость этой процедуры на приемлемый уровень. Даже на самой мощной видеокарте NVIDIA предыдущего поколения — GXT 1080 Ti — скорость обработки алгоритмов трассировки приблизительно в шесть раз ниже, чем на видеокартах RTX. Компания AMD тоже работает над этой технологией, но на рынок их видеокарты с поддержкой трассировки пока не вышли (возможно, это случится уже в текущем году). Также для работы трассировки лучей необходима Windows 10 и специальное расширение для DirectX 12, которое поддерживает работу алгоритмов на программном уровне.
Трассировка лучей нужна не только геймерам. Для разработчиков игр она упрощает процесс создания уровней и окружения. Без этой технологии все эффекты освещения в играх приходится создавать вручную. Например, если на уровне горит светильник, то надо прописать отражения лучей и тени от него. С трассировкой лучей этого делать не нужно — все должны обработать алгоритмы в автоматическом режиме. Кроме того, трассировка может работать и со звуком, создавая намного более реалистичное аудио для игр.
Как трассировка лучей влияет на игры и производительность
Хоть технология RTX и появилась на рынке полтора года назад, список игр с ее поддержкой до сих пор не очень большой. Сейчас, с учетом проектов в разработке, их около 30. Среди уже доступных к покупке ААА-тайтлов выделим Battlefield V, Shadow of the Tomb Raider, Metro Exodus, Control и Stay in the Light. Понятно, что в будущем таких игр будет больше, но пока рано говорить, что трассировка лучей внедряется повсеместно.
Главное, что привносит данная технология в игры — это больший реализм освещения. Что, кстати, не всегда полезно. Например, важная деталь или квестовый предмет может оказаться в тени, а углы помещения с одним источником света могут быть слишком темными. Но это, скорее, исключения. Трассировка лучей в львиной доле случаев положительно сказывается на качестве изображения и его реализме. Тени могут динамично двигаться, в воде отражается больше объектов, огонь в темноте немного слепит, как и должен, а картинка в целом выглядит живее и больше похожа на то, что игрок увидел бы в реальной жизни.
Посмотреть, что дает трассировка лучей, можно на примере игры Minecraft. Да, в ней нарочито примитивная графика, но для демонстрации трассировки это как раз плюс — различие картинки с трассировкой и без нее намного заметнее. Убедиться в этом можно на следующем видео:
Еще одна игра, в которой хорошо заметна разница между наличием трассировки и ее отсутствием — это классический шутер Quake II. Он наглядно показывает, как качественно меняется картинка с использованием алгоритмов трассировки:
А вот если мы перейдем к более современным (или к более продвинутым в плане графики) играм, то разница становится не такой ощутимой. Дело в том, что ни в Quake II, ни в Minecraft разработчики изначально не занимались реализмом освещения как таковым. В первом случае, потому что 23 года назад технологии и возможности разработчиков были «немного» скромнее, а во втором — в этой игре данный аспект далеко не самый важный. Но когда мы берем игры, где упор делается на качество графики, различия заметить сложнее. Посмотрим, к примеру, на Shadow of the Tomb Raider. Технология RTX, конечно, добавляет реализма картинке: появляются динамичные тени от движущихся источников освещения, там, где нужно, они смягчаются и выглядят более естественно. Но, с другой стороны, разница некардинальная:
Еще одно видео с Shadow of the Tomb Raider. Оно тоже демонстрирует, что со включенной трассировкой освещение выглядит более реалистично, но в некоторых местах это трудно заметить:
Существует также разница между режимами трассировки. Но зачастую она либо вообще не заметна, либо отличия настолько малы, что ими можно пренебречь. Это хорошо видно на скриншоте ниже:
Взглянем еще на Battlefield V — на примере этой игры хорошо видно, как трассировка улучшает отражения в воде:
Разница в картинке с использованием трассировки лучей и без нее достаточно заметна. Но с другой стороны, в этих играх даже без трассировки все хорошо с освещением. Пускай оно немного менее реалистично, но тоже выглядит здорово и разница при наличии трассировки и ее отсутствии не так бросается в глаза. Особенно, если игрок сконцентрирован на прохождении сюжета или сражении с противником, а не на поиске отличий в освещении. И тут мы подходим к еще одному важному вопросу: а как трассировка влияет на производительность?
Так как обработка алгоритмов трассировки требует больших объемов вычислений, на видеокарту идет дополнительная нагрузка (причем очень существенная). А это, в свою очередь, снижает количество кадров в секунду. В зависимости от мощности видеокарты, можно выбирать тот или иной режим качества трассировки: ультра, высокое и среднее. В зависимости от выбранной модели будет обрабатываться разное количество объектов (чем выше качество — тем больше).
Насколько существенно это влияет на FPS? В этом разбирались журналисты издания TechSpot. Они испытали популярные игры с поддержкой трассировки лучей на всех моделях видеокарт NVIDIA последней серии. На их тестовом компьютере были установлены последние версии драйверов, актуальные апдейты игр и операционной системы. Для теста все настройки качества картинки устанавливались на максимум, а разрешение выбиралось на уровне 1440 p. Журналисты отметили, что в среднем количество кадров в секунду падало на 30–50% в зависимости от игры и качества трассировки. Но при этом значения FPS в основном оставались в пределах комфортного восприятия.
Так, Battlefield V на самой мощной видеокарте RTX 2080 Super выдавал 111 к/с без трассировки, 76 FPS — при низком качестве трассировки и 57 FPS — при высоком. На бюджетном варианте RTX 2060 Super показатели оказались такими: 86 FPS без трассировки, 61 FPS с низким качеством трассировки и 45 FPS с ультракачеством. То есть даже с не самой дорогой видеокартой в эту игру можно комфортно играть с самым высоким качеством трассировки.
Правда, в других играх результаты оказались немного хуже. Например, в Metro Exodus RTX 2060 Super выдавала на ультракачестве 35 к/с, а в Control всего 26 FPS. И если игру при 35 к/с еще можно назвать комфортной, то о 26 FPS такого уже точно не скажешь.
Выводы
Трассировка лучей в играх — это еще молодая технология, которая делает первые шаги в индустрии. Пока что ее наличие или отсутствие на качество игр особо не влияет. Она, скорее, является модной фишкой, без которой пока можно вполне обойтись. Но так будет не всегда. Эта технология существенно упрощает процесс разработки игр, поэтому в будущем ее будут применять все чаще, а от старых моделей работы со светом постепенно отходить. Понятно, что это дело не ближайших лет, но все же вектор развития индустрии очевиден. Кстати, по словам представителей NVIDIA, первая ААА-игра, для которой обязательно понадобится видеокарта с поддержкой трассировки, может выйти уже в 2023 году.
Сейчас же распространению этой технологии мешают несколько вещей. Видеокарты с ее поддержкой дорогие и нельзя сказать, что намного производительнее адаптеров предыдущего поколения. Также пока есть не очень много игр с ее поддержкой, и люди не совсем понимают, зачем сейчас переплачивать за видеокарту последнего поколения. Включение трассировки вызывает заметное проседание FPS, пусть почти всегда некритичное, но все же заметное. При этом уровень реализма картинки хоть и возрастает, но не прямо, чтобы ах как. Поэтому в ближайшие несколько лет она не будет мейнстримом. Хотя в том, что в конечном итоге трассировка станет общепринятым стандартом, можно не сомневаться. Надо только подождать.
Также по теме:
- Лучшие гоночные игры
- ТОП лучших игр для двоих на PS4, Xbox One и PC
- Как правильно настроить CS:GO
- Рейтинг самых ожидаемых игр — новинок для ПК и PS4
- Игры для компании — во что поиграть на карантине?
Скриншоты и видео: NVIDIA, EA, Overclockers.ua, TechSpot
Пишем в окно dxdiag, жмём на Экран и если DirectX 12 Ultimate недоступен, забываем о трассировке лучей.