Железо

Новая статья: Групповое тестирование видеокарт в Quake II RTX: «Квака» опять тормозит

И вот, спустя три месяца томительного ожидания, она перед нами. В марте NVIDIA объявила, что берет под крыло любительский проект q2vkpt и собирается выпустить собственную версию нетленной классики с графическим движком на основе трассировки лучей. А те, кто уже поспешил скачать и опробовать Quake II RTX, могут задать вопрос, почему она работает так медленно, как будто на дворе вновь 1997 год, а в компьютере — первая карта Voodoo Graphics. Но что же особенного в обновлении старинной игры?

⇡#Из прошлого — в будущее: графический движок Quake II RTX

Что именно дает право Quake II RTX рассчитывать на статус самой передовой и требовательной игры для современных GPU? В самом деле, пионерские проекты, освоившие трассировку лучей в реальном времени, — Battlefield V, Metro Exodus и Shadow of the Tomb Raider — оказались по силам не только видеокартам серии GeForce RTX, но и, с теми или иными оговорками, ускорителям прошлого поколения. Даже в Metro Exodus — игре, в которой DXR используется наиболее активно, — пришлось пойти на определенные жертвы (к примеру, в ней нет трассированных отражений). Все дело в том, что в играх переходного периода — от растеризации к трассировке лучей — действует модель гибридного рендеринга, когда Ray Tracing дозированно применяют для симуляции определенных эффектов — теней, отражений или глобального освещения — а львиную долю нагрузки на GPU по-прежнему создает растеризация и шейдерные программы. В Quake II RTX, напротив, все освещение целиком рассчитывается с помощью трассировки лучей, а если точнее — по наиболее достоверному и ресурсоемкому методу Path Tracing.

Различие между этими методами можно описать в одно и тоже время и количественным, и качественным образом. Провести границу между Path Tracing, с одной стороны, и Ray Tracing, с другой, не так-то просто, особенно в таких случаях, как компьютерные игры. В зависимости от того, насколько много лучей отслеживает алгоритм, и какую глубину вторичных отражений он допускает, конечный результат будет в той или иной степени приближен к физически достоверному эталону изображения. Но строго говоря, понятие Ray Tracing описывает лишь фундаментальные принципы, лежащие в основе всех подобных алгоритмов: из точки обзора программа посылает множество лучей, которые пересекаются с объектами сцены, отражаются от них и в конечном счете заканчиваются на первичных источниках света (или уходят в бесконечность). Именно поэтому в играх пока не может идти речи о полном отказе от растеризации в пользу трассировки лучей, а разработчики используют Ray Tracing для симуляции изолированных, наиболее ярких, эффектов освещения. Предел точности расчетов задает быстродействие оборудования, ведь каждое пересечение луча с геометрией сцены требует выпустить из найденной точки все больше и больше лучей.

Ключевое достоинство Path Tracing состоит в том, что он лучше прочих методов решает проблему экспоненциального роста вычислительной сложности при расчете множественных отражений луча от поверхностей объектов за счет математических методов Монте-Карло. Path Tracing — один из распространенных алгоритмов рендеринга путем трассировки лучей, который преобладает в «офлайновых» задачах: создании фотореалистичных статических изображений и CGI-анимации в кино. Или это уже устаревшая точка зрения? Тем не менее для современных графических процессоров Path Tracing пока еще считается слишком сложной задачей, если необходимо выполнять рендеринг «в онлайне» — как в играх.

Исходный код движка id Tech 2 уже давно лежит в открытом доступе, а игра имеет богатую историю пользовательских модификаций. Quake II оказался удобным подопытным кроликом для того, чтобы провести такой эксперимент. Это чрезвычайно элегантный подход, который объединяет шейдинг (вычисление цвета) пикселов в едином алгоритме и нуждается в минимальной работе над ресурсами игры для того, чтобы получить физически достоверное изображение. После того как NVIDIA выпустила видеокарты с функциями трассировки лучей на уровне кремния, независимый разработчик Кристоф Шилд (Christoph Schied) создал q2vkpt — альтернативный рендерер Quake II под API Vulkan, в котором все без исключения процедуры переноса света рассчитываются методом Path Tracing. Упрощенно говоря, нужно лишь присвоить текстурам те или иные свойства реакции на свет, а оставшуюся работу выполнит алгоритм трассировки лучей.

Цвет недостающих пикселов вычисляется путем аппроксимации данных — причем как из текущего, так из и предшествующих кадров, что одновременно дает эффект временного полноэкранного сглаживания (TAA). Однако Path Tracing по-прежнему является чрезвычайно сложной задачей с точки зрения объема вычислений, поэтому q2vkpt оперирует сравнительно небольшим количеством лучей, а изображение получается довольно «шумным». Если дать движку время, поставив игру на паузу, то шумоподавление отключается, а кадр за несколько секунд достигает максимальной плотности лучей (однако все скриншоты в обзоре, помимо следующей группы, были сделаны с применением фильтра).

В данном случае решающее значение для быстродействия имеет не сложность геометрии, а количество лучей второго порядка при расчетах отраженного освещения и число источников света (к слову, оно в Quake II изначально немаленькое даже по современным стандартам). Прелесть комбинации Path Tracing с шумоподавляющим фильтром в том, что такой метод рендеринга, в теории, можно эффективно масштабировать и на более сложные игры, чем Quake II. Если современные графические процессоры готовы нести бремя полной трассировки лучей в Quake II, то и новые проекты с графикой, построенной на принципах Path Tracing, уже должны быть не за горами.

Без шумоподавления (текстуры выкл.)

 

С шумоподавлением (текстуры выкл.)

 

Эталон (текстуры выкл.)

Без шумоподавления

 

С шумоподавлением

 

Эталон

Так, NVIDIA разместила на уровнях дополнительные источники света, внедрила карты нормалей, множество новых текстур, спрайтов и эффектов частиц, высокодетализированные модели оружия и, наконец, раздала игрокам ружье, выбрасывающее световые шашки. Quake II RTX является комбинацией q2vkpt с несколькими другими open-source-проектами на основе Quake II — оптимизированным клиентом и выделенным сервером Q2Pro на основе кода id Software (в который входит переписанный, чрезвычайно быстрый рендерер OpenGL), набором текстур Q2XP — и собственными разработками NVIDIA.

OpenGL (RTX Off)

 

Vulkan (RTX)

OpenGL (RTX Off)

 

Vulkan (RTX On)

Естественное освещение зависит от рассеивающих свойств атмосферы, облаков и положения солнца на небосклоне — причем оно определяется по упрощенной астрономической модели, включающей широту, на которой находится наблюдатель. Благодаря тому, что разработчики Quake II RTX сменили статическое освещение уровней Quake II, «запеченное» в картах света (lightmaps), на полностью динамическую модель, в игре появился цикл дня и ночи — по умолчанию он привязан к системному времени ПК, но время суток можно выбрать и произвольно. Все эти переменные также можно отрегулировать вручную. Разработчики даже учли такой фактор, как предполагаемый спектральный класс и диаметр светила системы Строггов — эта звезда крупнее, чем Солнце, поэтому она отбрасывает на поверхность планеты более мягкие тени.

Рассвет

 

 

Вечер

 

Сумерки

 

Для того чтобы пройти сюжет полностью, придется купить цифровую версию первоисточника или сдуть пыль со старого CD — Quake II RTX устанавливается поверх ресурсов оригинала. Quake II RTX доступна в магазине Steam абсолютно бесплатно и содержит три первых карты одиночной кампании Quake II. На совместимость с серверами без RTX мы игру не проверяли, но обратное совершенно точно возможно. И кстати, легендарный мультиплеер «Кваки» никуда не делся: к клиенту Quake II RTX прилагается исполняемый файл выделенного сервера.

⇡#Настройки качества графики

Среди них есть эффекты распространения света в жидкой среде (Caustics), объемные лучи (God Rays) и симуляция широкого динамического диапазона (HDR Bloom). Графическое меню Quake II RTX включает несколько опций, регулирующих эффекты трассировки лучей.

Caustics Off

 

Caustics On

God Rays Off

 

God Rays On

Прямые тени от источников света и отражения в зеркальных поверхностях, знакомые нам по Shadow of the Tomb Raider и Battlefield V, движок формирует в любом случае и не позволяет деактивировать их в графическом интерфейсе (хотя это можно сделать с помощью текстовой команды).

Reflection and Refraction Off

 

Reflection and Refraction On

Меню содержит три предустановленных параметра качества: Но ключевая опция Quake II RTX, которая оказывает наибольшее влияние на изображение и производительность, — это интенсивность расчетов так называемого глобального освещения (Global Illumination), под которым подразумевается непрямое освещение объектов за счет лучей, отраженных от соседних поверхностей.

  • низкий — рассчитывается единичное отражение луча, с половинной плотностью лучей и только применительно к рассеянным отражениям от матовых поверхностей;
  • средний — единичное отражение, полная плотность лучей, матовые и блестящие поверхности;
  • высокий — то же, что при среднем уровне качества, но допускается двойное отражение лучей. В этом случае расчеты вторичных отражений занимают примерно треть времени рендеринга кадра даже на чипах Turing с аппаратными RT-блоками.

И наконец, можно полностью выключить GI, сохранив в игре лишь прямое освещение, но тогда Quake II RTX будет похож на DOOM 3, знаменитый своими жесткими тенями — с той разницей, что в Quake II RTX благодаря множественным лучам и аппроксимации цвета пикселов тени всегда имеют мягкие края.

Global Illumination Off

 

Global Illumination Low

Global Illumination Medium

 

Global Illumination High

⇡#Качество графики в примерах: RTX Off vs RTX On

А когда речь идет о локациях с открытым небом, не меньшую роль сыграл динамический цикл времени суток, причем новые тона игры явно не всем из «старой гвардии» придутся по душе. Не нужно пристально всматриваться в кадры, чтобы заметить, как сильно трассировка лучей повлияла на облик Quake II. Финальная версия отошла от столь радикального пересмотра видения id Software, но градус мрачности в  Quake II все-таки понизился. В ранних демонстрациях Quake II RTX разработчики спровоцировали шквал критики тем, что давящую багровую текстуру строгговского мира поменяли на счастливый голубой небосвод. Впрочем, если солнечный свет мешает предаваться ностальгии, в меню можно вручную снизить яркость окружающей среды и даже вернуть на небо оригинальную текстуру.

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

OpenGL (RTX Off)

 

Vulkan (RTX On)

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

Тестовый стенд

CPU

Intel Core i9-9900K (4,9 ГГц, 4,8 ГГц в AVX, фиксированная частота)

Материнская плата

ASUS MAXIMUS XI APEX

Оперативная память

G.Skill Trident Z RGB F4-3200C14D-16GTZR, 2 × 8 Гбайт (3200 МГц, CL14)

ПЗУ

Intel SSD 760p, 1024 Гбайт

Блок питания

Corsair AX1200i, 1200 Вт

Система охлаждения CPU

Corsair Hydro Series H115i

Корпус

CoolerMaster Test Bench V1.0

Монитор

NEC EA244UHD

Операционная система

Windows 10 Pro x64

ПО для GPU NVIDIA

Все видеокарты

NVIDIA GeForce Game Ready Driver 430.86

Старая методика безотказно работает и в 1997, и в 2019 году. Давние читатели 3DNews наверняка помнят, что в Quake II есть встроенный бенчмарк, для которого нужно активировать режим timedemo в консоли и запустить одну из двух встроенных «демок». Это единственный способ протестировать современные GPU в Quake II RTX под API OpenGL — без трассировки лучей, новых эффектов и текстур — для того, чтобы провести базовую линию производительности. Но достоинство timedemo не только в удобстве и привычках. Единственное, чего не хватает встроенному бенчмарку, — это вывода показателя минимального FPS. В игре установлено ограничение частоты кадров в секунду на уровне 1000 FPS, в которое упирается практически любая из современных мощных видеокарт, а классическая методика timedemo позволяет от него избавиться. Впрочем, фреймрейт в Quake II RTX на диво стабилен по сравнению с тем, что происходит в большинстве растеризованных и «гибридных» игр, и резких просадок частоты смены кадров здесь не наблюдается.

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

Следующая страница →

⇣ Содержание

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

3dnews.ru/www/delivery/avw.php?zoneid=1778&cb=INSERT_RANDOM_NUMBER_HERE&n=a08ada54" border="0" alt=""/> <img src="https://ad.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть