⇣ Содержание
Опрос
|
реклама
Групповое тестирование 20 видеокарт в Half-Life: Alyx
Прошло уже больше четырех лет с того момента, когда на рынке дебютировал первый серийный шлем виртуальной реальности современного образца — Oculus Rift. Но вряд ли его создатели предполагали, что пройдет не меньший срок, прежде чем игровая индустрия начнет воспринимать инновационную (хотя в действительности уже очень старую) технологию всерьез, а первые владельцы VR-шлемов (их еще называют HMD, Head Mounted Display — дословно «монтируемый на голову дисплей») все это время будут радоваться любому редкому поводу пустить передовую технику в дело. Да и в случае с Half-Life: Alyx вернее сказать, что это производители VR-систем перестали ждать признания от игроделов и взяли ход истории в свои руки. Глядишь, если бы не планы Valve на собственный шлем Index, компания никогда не вернулась бы к давно заброшенной, но горячо любимой гемеймерами франшизе. Да и, честно говоря, тот факт, что Half-Life: Alyx все-таки не превратилась в долгожданную третью часть, свидетельствует о том, что даже Valve пока не готова сделать крупную ставку на виртуальную реальность. Как бы то ни было, среди немногочисленных проектов, для которых HMD — не опция, а необходимость, приквел Half-Life 2 занимает первое место по масштабу и значимости. К тому же в этой статье ни к чему рассуждать о перспективах домашнего VR (все уже сказано в нашем обзоре). На повестке дня техническая сторона игры. У Alyx довольно либеральные по современным меркам системные требования (видеокарта уровня GeForce GTX 1060 или Radeon RX 580), но всюду говорят, что в действительности требуется более серьезное железо. Нет ли здесь какого-то подвоха? Как выяснилось, есть, и не один. ⇡#Настройки качества графикиКачество изображения в Half-Life: Alyx подчиняется главному переключателю Fidelity (от Low до Ultra), который меняет девять отдельных опций (см. таблицу). Только параметр детализации текстур настраивается индивидуально: при запуске на новом железе игра выбирает позицию автоматически и поддерживает ее вне зависимости от регулятора Fidelity. Однако для тестирования производительности мы всегда использовали высшее качество текстур по той причине, что оно вносит сравнительно небольшой вклад в нагрузку на GPU, зато его отлично видно по изображению.
Напротив, эффект остальных опций даже в совокупности трудно обнаружить на скриншотах, а вот на производительность они влияют чрезвычайно сильно. Half-Life: Alyx — пожалуй, самый вопиющий пример среди современных проектов, когда усиление графических настроек только съедает быстродействие, хотя не выражается в пропорциональном росте качества изображения. Но, забегая вперед, предупредим, что, пусть игра работает на достаточно легковесном движке Source 2, сбросить все параметры до минимума не всегда достаточно, чтобы гарантировать необходимую в VR-среде кадровую частоту 90 FPS. Тогда вступают в дело иные, тайные механизмы оптимизации, о которых мы сейчас поговорим. На более-менее мощных игровых ПК с подходящим объемом оперативной памяти GPU (в бенчмарках видеокарт мы опустились вплоть до GeForce GTX 1060 и Radeon RX 590) игра позволяет установить любые параметры детализации, включая Ultra Fidelity вместе с текстурами наивысшего качества. Тем не менее и качество изображения, и быстродействие в неменьшей степени зависит от скрытых переменных, которых вы не найдете в списке настроек графики. Дело в том, что движок Half-Life: Alyx стремится поддерживать частоту обновления кадров не больше и не меньше 90 (в случае HTC Vive, Vive Pro и Oculus Rift) или 144 Гц (Valve Index) с вертикальной синхронизацией — и делает это, варьируя разрешение рендеринга. Таким образом даже слабое железо остается на плаву при агрессивных настройках графики, а мощные видеокарты выдают более четкое изображение за счет суперсемплинга. Отключить динамическое масштабирование через графическое меню настроек невозможно. Кроме того, оно действует независимо от разрешения рендеринга в настройках SteamVR (для шлемов HTC и Valve Index). Единственную возможность взять алгоритм под контроль (а это, само собой, необходимо для сравнительного тестирования GPU) дает встроенная консоль Half-Life: Alyx. Необходимо запустить игру с аргументами -console -vconsole, открыть консоль клавишей «~» и ввести следующие команды: vr_fidelity_level_auto 0 (отключает динамическое масштабирование) vr_fidelity_level [1–8] (задает масштаб разрешения) vr_perf_hud 1 (выводит данные производительности на экран — опционально) К сожалению, нужные параметры нельзя просто включить в строку аргументов для запуска игры, и действуют они в пределах сессии. То есть при каждом перезапуске необходимо заново открывать консоль и вводить команды. Ключевой параметр здесь — vr_fidelity_level, изменяющийся в пределах от 1 до 8. Valve не говорит, какой множитель суперсемплинга соответствует тому или иному аргументу команды, но, если судить по выводу консоли, vr_fidelity_level 3 полностью отключает масштабирование, а разрешение в таком случае равно 2016 × 2240 (что соответствует 100 % в настройках SteamVR для HTC Vive Pro). Заметим, что кадр Alyx больше размеров экрана HMD в пикселах (у HTC Vive Pro и Valve Index — 1440 × 1600 на каждый глаз), но так и должно быть: линзы шлема требуют заранее искаженную картинку, в которую заложен резерв пространства по краям для коррекции перспективы. В свою очередь, параметр vr_fidelity_level 1–2 означает даунсемплинг: 75 или 87 % от целевой площади кадра. Аналогично в пределах от 4 до 8 происходит суперсемплинг вплоть до 200 % (исходное разрешение 2854 × 3171). Линзы шлема вряд ли позволят отличить невооруженным глазом двукратный суперсемплинг от 151 или 174 % (vr_fidelity_level 6–7), а вот 132 % (vr_fidelity_level 5) можно считать оптимальным значением. При масштабировании кадра с исходным размером меньше 120 % целевого уже не исключено снижение качества изображения в силу особенностей оптики HMD, при vr_fidelity_level 1–2 — и подавно. Из-за динамического масштабирования Half-Life: Alyx на сравнительно маломощных видеокартах выглядит хуже, чем на высокопроизводительных, хотя общие настройки графики могут быть одинаковыми, как и быстродействие. Для бенчмарков всех GPU мы зафиксировали vr_fidelity_level на уровне 3 (разрешение 100 %). Вот только продемонстрировать на скриншотах, как выглядит игра при различных значениях даун- и суперсемплинга, увы, не представляется возможным: SteamVR записывает в файл кадр исходного размера, а масштабирование происходит дальше по цепочке (тем более что скриншоты VR — это «кроп», который не соответствует ни целевому, ни оригинальному разрешению). Воспроизвести алгоритм масштабирования в фоторедакторе тоже нельзя — он наверняка сложнее и, возможно, содержит временнýю компоненту, комбинируя пикселы из нескольких последовательных кадров.
Последний нюанс, который мы должны осветить перед тем, как приступим к анализу производительности, — это требования Half-Life: Alyx к объему оперативной памяти GPU. Как видно из таблицы, даже при минимальных параметрах качества графики и с разрешением рендеринга в 75 % от размеров целевого кадра игра занимает больше 6 Гбайт VRAM и, следовательно, требует выгружать часть данных в системную память, если на видеокарте распаян именно такой объем. Не удивительно, ведь GPU в каждый интервал синхронизации приходится формировать сразу два кадра. К счастью, 8 Гбайт Half-Life: Alyx уже хватает для любых настроек, за исключением наивысшего качества в комбинации с 200-процентным суперсемплингом. Тем более что в последнем случае и запросы к производительности таковы, что их может удовлетворить лишь тот ускоритель, которому больше 8 Гбайт локальной памяти положено по стандарту (и это, как вы понимаете, GeForce RTX 2080 Ti, а вовсе не Radeon VII).
⇡#Методика тестирования, тестовый стендСегодня золотым стандартом для измерения производительности VR-игр является программа FCAT VR от NVIDIA. Благодаря тому, что она напрямую отслеживает события в API шлема — через интерфейс ETW (Events Tracing for Windows) для Oculus Rift и Steam VR для HTC Vive и Valve Index, — с помощью FCAT VR можно выявить не только общие факторы быстродействия, но и ряд переменных, специфических для VR-среды. А именно, процент отброшенных и синтезированных (репроецированных) кадров. Кроме того, FCAT VR дает оценку неограниченной кадровой частоты, которую могла бы развить тестовая система, если бы фреймрейт не был привязан к частоте обновления HMD. Увы, FCAR VR версии 3.26, которая была доступна на сайте NVIDIA в период работы над обзором, оказалась несовместимой с актуальными версиями Half-Life: Alyx и/или Steam VR. Мы связались с разработчиками FCAT VR, чтобы решить эту проблему, но пока пришлось воспользоваться альтернативным ПО — OCAT. Последняя тоже умеет внедряться в API событий HMD, но в случае с Half-Life: Alyx опять-таки возможности утилиты ограничены и не позволили собрать расширенную статистику кадров (отброшенные и синтезированные, а также неограниченный фреймрейт). К счастью, даже через интерфейс Direct3D, который в OCAT является стандартным источником данных, можно получить индивидуальное время рендеринга кадра и построить график задержки в ходе тестового отрезка, а это главное, что нужно для анализа производительности в VR-среде. Все тесты были выполнены с помощью шлема HTC Vive Pro, который отличается высоким разрешением (1440 × 1600 на каждый глаз) и стандартной для VR частотой обновления 90 Гц. В настройках SteamVR была отключена опция Motion Smoothing.
⇡#Участники тестирования
Прим. В скобках после названий видеокарт указаны базовая и boost-частота согласно спецификациям каждого устройства. Видеокарты нереференсного дизайна приведены в соответствие с референсными параметрами (или приближены к последним) при условии, что это можно сделать без ручной правки кривой тактовых частот. В противном случае (ускорители серии GeForce 16, а также GeForce RTX Founders Edition) используются настройки производителя.
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
|