Многие начинающие пользователи VR отмечают низкое качество изображение в очках виртуальной реальности даже с относительно мощным железом. Это известная проблема, которая вызвана как новизной самой технологии и несовершенством текущего поколения шлемов VR, так и не совсем оптимальной настройкой ПО или игр. О том, как настроить последнее и будет сегодняшняя статья.
Так же стоит сказать, что для улучшения графики нужна система, имеющая спецификации выше минимально необходимых для Oculus Rift, особенно в части видеокарты, так как большая нагрузка будет ложиться именно на неё. То есть это карты уровня GTX 970/1060 и выше от nvidia или их аналоги от AMD. Для тяжелых с точки зрения графики игр могут понадобиться и более мощные решения, такие как GTX 1080/RTX2070 и выше.
Что такое Super Sampling и почему он улучшает изображение
Supersample anti-aliasing (SSAA), он же Full-scene Anti-aliasing (FSAA) — самая старая, самая качественная, однако и самая затратная разновидность сглаживания(антиалиасинг). Оно позволяет устранить характерные «лесенки» на границах полигонов.
Многие современные разновидности сглаживания в VR работают крайне плохо, "мылят" изображение, однако дешевы с точки зрения влияния на производительность, что особенно критично в VR, где очень желательно иметь 90 кадров в секунду(fps) для комфортной игры и отсутствия укачивания. Использование SSAA позволяет улучшить качество графики(четкость) и читаемость текста как в десктопных, так и VR играх, но в последних это более заметно из-за близкого расположения дисплеев с относительно низким разрешением на дюйм(ppi).
В некоторых VR играх в настройках графики уже присутствует настройка суперсемплинга, однако обычно она ограничена в узких пределах и не позволяет точного ввода коэффициента разрешения. Важно лишь отметить, что итоговые коэффициенты будут умножаться, что может повлечь за собой неоправданную нагрузку на видеокарту и, как следствие, низкий fps, поэтому стоит изменять что-то одно.
Улучшение графики в играх на Oculus API
В играх и приложениях, работающих нативно через SDK Oculus, нужно использовать родную утилиту OculusDebugTool, которая идет в комплекте с ПО и находится по адресу C:\Program Files\Oculus\Support\oculus-diagnostics.
Вкратце о том, как определить, работает ли игра из-под Oculus API: если при запуске игры не открывается дополнительно программа SteamVR, то игра работает нативно через него. Перед запуском Debug Tool требуется сперва подключить шлем к ПК и запустить клиент Oculus Home. После запуска утилиты видим следующее окно, где в самом верхнем поле с названием "Pixels Per Display Pixel Override" нужно ввести требуемое значение коэффициента рендеринга, в диапазоне от 0 до 2(больше не потянет видеокарта, да и смысла нет — видимое влияние на графику будет отсутствовать).
По умолчанию там будет стоять 0, что также равноценно введенной единице. Значения меньше 1 будут уменьшать разрешение рендеринга и ухудшать изображение, однако давать некоторый прирост fps на слабых машинах. Больше единицы — соответственно, улучшать. Оптимальные значения для большинства пользователей лежат в пределах 1.2-1.5, в зависимости от мощности их видеокарты. Значения применяются в реальном времени и видны, например, в Oculus Home, но большинство игр требуют перезапуска для применения изменений. После настройки утилиту можно закрыть, однако после перезапуска сервисов Oculus или перезагрузки ПК значения будут сброшены и процедуру придется проводить заново.
Кроме того, существует отдельная утилита Oculus Tray Tool, которая является расширенной версией Debug Tool и написана добровольцами. Останавливаться на ней я подробно не буду, так как её функционал в данном случае полностью схож, имеется лишь возможность выставления суперсемлинга для каждого приложения по отдельности, как в SteamVR и создания набора готовых профилей.
Улучшение графики в играх на SteamVR (OpenVR)
В играх и приложениях, запущенных через Steam VR, регулировка осуществляется через сам Steam VR — в настройках, во вкладке "Изображение" достаточно поставить галочку "Включить ручную настройку разрешения".
По умолчанию будут подобраны настройки, подходящие Вашей системе. Однако в зависимости от игры и простоты/сложности её графической составляющей, их можно варьировать в широких пределах. Здесь, в отличии от Debug Tool, коэффициент рендеринга задаётся в процентах. Кроме того, имеется возможность выставление индивидуальных настроек для каждого приложения по отдельности во вкладке "Приложения". Итоговые проценты будут перемножаться, а конечное разрешение рендеринга для каждого глаза отображается чуть ниже. Оптимальны значения 140-200%.
Очень важно отметить, что коэффициент, выставленный в Debug Tool, будет оказывать влияние и на SteamVR — он будет принимать его за нативное разрешение шлема. Поэтому, например, выставив там значение 1.4 уже нет смысла что-то менять в самом SteamVR. Стоит лишь убедиться, что там выставлено 100% (он может опускать его и ниже 100% в автоматическом режиме). Таблица соотношений коэффициентов и итогового разрешения некоторых значений для каждого глаза и суммарное количество пикселей для двух экранов шлема Rift CV1 приведена ниже.
RIFT Debug Tool |
SteamVR |
Горизонтальное |
Вертикальное |
Всего пикселей |
Описание |
|
|
1080 |
1200 |
2 592 000 |
Физическое разрешение дисплеев CV1 |
0.776 |
60% |
1043 |
1242 |
~2 592 000 |
Даунсемплинг (понижение) разрешения дисплеев до нативного |
1 |
100% |
1344 |
1600 |
4 300 800 |
Значение рендеринга по умолчанию |
1.225 |
150% |
1646 |
1960 |
6 451 200 |
Оптимальное минимальное значение для большинства приложений |
По умолчанию рендеринг у CV1 производится с повышенным разрешением для компенсации эффектов дисторсии линз. Коэффициенты 1.24 и 1.33 для горизонтали и вертикали соответственно, что равно итоговому 1344 x 1600 на глаз(2,150 миллиона пикселей).