> > > > NVIDIA и VR: VRWORKS улучшает производительность – тесты FCAT VR

NVIDIA и VR: VRWORKS улучшает производительность – тесты FCAT VR

Опубликовано:

nvidia 2013Интерес к виртуальной реальности понемногу начинает спадать, но разработчики GPU, такие как AMD и NVIDIA, продолжают верить в перспективы VR. Похоже, перед нами типичная проблема курицы и яйца, поскольку на ПК до сих пор нет игр или другого программного обеспечения, которое смогло бы развлечь геймера дольше нескольких минут. Те же игры Resident Evil 7 или The Journey вышли только под PlayStation VR.

Чтобы игры VR под ПК смогли выжать максимум из имеющихся аппаратных ресурсов, NVIDIA предлагает VRWORKS – набор API, помогающих разрабатывать игры. Как и в случае Async Compute, NVIDIA использует ряд технологий, которые поддерживаются архитектурами Maxwell и Pascal. К ним относятся Multi Resolution Shading, Single Pass Stereo, Simultaneous Multi Projection и Lens Match Shading. Они были представлены с архитектурой Pascal, хотя частично поддерживаются и поколением Maxwell.

На GDC NVIDIA вновь показала отличия меду Lens Match Shading (LMS) и Multi Resolution Shading (MRS), а также случаем, когда не используется и одна из данных технологий. LMS и MRS опираются на тот факт, что все очки VR используют систему линз для подачи изображения в глаз пользователя. Поэтому на ЖК-панелях рендеринг должен выполнятся с искажениями, чтобы после прохождения системы линз мы получили нормальную картинку. Кроме того, по краям изображения разрешение можно сделать меньше, поскольку для глаза данная область является периферийной. А некоторые области вообще не видны. По центру, с другой стороны, не мешает использовать более высокое разрешение.

Если использовать стандартный сценарий без каких-либо оптимизаций, то на каждый глаз придется рассчитывать 2,54 млн. пикселей. Но из них пользователь очков VR увидит только 1,11 млн. пикселей. То есть большая часть вычислений выполняется впустую. Даже простая реализация LMS снижает число рассчитываемых пикселей до 1,57 млн., при этом на периферии кадра просчитывается меньше пикселей, а по центру – больше. LMS можно и дальше адаптировать через профили, возможно снижение до 1,17 или 0,87 млн. пикселей с потерей качества разной степени.

MRS ориентирована на ту же сферу, но работает иначе. В конечном итоге снижается вычислительная нагрузка вместе с улучшением качества картинки. NVIDIA привела результаты тестов в некоторых приложениях VR.

Frame Capture Analysis Tool для VR

Со шлемом VR проводить измерения производительности не так легко. Конечно, мы провели несколько тестов во время нашего первого знакомства с очками HTC Vive, но мы использовали инструменты разработчиков. Сам по себе шлем VR добавляет еще один фактор, который сложно измерить. Сочетание технологий сенсоров в очках и соответствующая программная обработка позволяют рассчитать задержки, но до сих пор не было возможности провести детальный разбор кадров и анализ, чтобы определить искусственно созданные или выпадающие кадры.

В чем же кроются проблемы подобных измерений? В идеальном случае игры VR должны идти с частотой кадров 90 fps. В случае разрешения 3.024 x 1.680 пикселей для обоих глаз мы получаем 450 млн. пикселей в секунду. Далеко не каждая видеокарта способна справиться с такой нагрузкой. И в худшем случае кадры придется пропускать. Геймеры очень чувствительны к подобным недостаткам в виртуальном игровом мире, поскольку вместо ожидаемого плавного движения мы получаем рывки.

Поэтому разработчикам приходится идти на некоторые хитрости, чтобы предотвратить подобные негативные проявления. Среди них – создание искусственных кадров на основе имеющейся информации. Если геймер поворачивает голову в определенную сторону, то можно предугадать, каким будет следующий кадр, после чего вывести его на дисплей очков VR. Oculus, например, называет данную технологию Time Warp. Но стандартные утилиты, подобные FRAPS или некоторые другие, не могут определять подобные искусственно созданные кадры.

Несколько лет назад утилита Frame Capture Analysis Tool (FCAT) позволила провести более детальный анализ классических тестов. Но на сборку тестовой конфигурации FCAT уйдет немало сил, времени и денег. Виртуальная реальность добавляет еще один уровень сложности. Но NVIDIA нашла возможность вывести оверлей с определенными цветовыми кодами, позволяющими определить, был выведен новый кадр или нет.

NVIDIA разработала соответствующую утилиту, позволяющую провести измерения кадров VR, причем без карты захвата или сложных конструкций с HDMI-сплиттером. FCAT VR Capture базируется на Performance API HTC и Oculus, то есть утилита подключается в нужном месте к конвейеру и считывает корректные данные. FCAT VR Capture создает файл CSV, где присутствуют все полученные сведения.

Кроме того, NVIDIA предлагает утилиту FCAT Data Analyzer, которая позволяет графически представлять полученные данные. Она позволяет строить графики и сравнивать результаты напрямую. Конечно, FCAT VR вряд ли заинтересует большинство геймеров. Но для разработчиков и тестеров утилита окажется весьма полезной, поскольку она позволяет провести измерения на программном и аппаратном обеспечении VR.