Содержание статьи (кликабельно)
В этом небольшом посте я расскажу, как повысить производительность VR игр из Steam VR, особенно если у вас не слишком мощная видеокарта и имеется шлем Oculus (в моем случае это Oculus Quest 2).
Речь идет об играх на базе Steam VR (которых, у нас большинство, в первую очередь, благодаря регионанльным ценам в Steam). Если вы покупаете игру в магазине Oculus, например, какой-то Oculus-экслюзив, там итак всё должно быть хорошо.
Полезные материалы по теме:
Суть проблемы
Когда мы запускаем игру из магазина Oculus, то получаем следующее:
Игра/Приложение —> Oculus API —> Oculus Runtime —> Rift (или то, что им притворяется)
Это — лучший вариант запуска игры для Oculus-а.
Когда мы запускаем игру на Oculus из Steam VR, мы получаем следующее:
Игра/Приложение —> SteamVR API —> SteamVR Runtime —> Oculus API —> Oculus Runtime —> Rift (или то, что им притворяется)
Во-первых, у нас есть лишние прокладки в виде Steam VR, что уже снижает производительность. Во-вторых, второй путь может порождать глюки и баги, особеннно в играх, которые в бете, или в мало известных играх (привет ATS и ETS2). В-третьих, этот путь хотя и дает нам возможность доступа к Oculus ASW (про это далее), так оно работает мене стабильно (по моим наблюдениям).
Вобщем, примите на веру, что прямой запуск игры через Oculus SDK лучше, чем ее запуск через Steam VR.
Решение проблемы
Вариант 1: покупать игры в магазине Oculus, тогда там просто не будет Steam VR и всё будет работать как задумано, из коробки. Минус: дорого и вобще не все игры из Steam VR там есть.
Вариант 2: запуск игры через «костыли» и гайды.
Хорошая новость в том, что большая часть игр при игре через Air Link сама будет запускаться без Steam VR, напрямую в Oculus, т.к. именно через Air Link Oculus Quest видится как обычный проводной шлем, как показано в этом моём видео:
Однако, такое прокатывает не со всеми играми. К тому же, не все играют через Air Link.
И тут нам пригодится этот список игр с нативной поддержкой Oculus SDK. По ссылке есть таблица, в которой перечислены игры, которые вообще можно запустить без Steam VR в теории и так же описаны способы как это сделать. Я перекопирую ее сюда, но, по понятным причинам, следить за ее обновлением я не могу, так что, если тут нет вашей игры, смотрите оригинальный пост (или гуглите).
Игра | Способ запуска |
---|---|
Adr1ft | |
Apex Construct | |
Apollo 11 VR | Right click and choose «Launch in Oculus VR Mode» |
Archangel | |
Assetto Corsa | Choose Oculus rendering mode in launcher |
Audica | |
Automobilista 2 | Launch from Steam and choose Oculus mode, or create a shortcut to «steam://launch/1066890/othervr» |
Batman Arkham | |
Beat Saber | Use launch option «-vrmode oculus» |
Blade & Sorcery | Right click and choose «Launch in Oculus VR Mode» |
Blasters of the Universe | |
Borderlands 2 VR | Auto-detects |
BOXVR | |
Budget Cuts | Opt into oculussdk beta branch |
Catch & Release | Use launch option «-vrmode oculus» |
Chroma Lab | |
Contractors | |
Creed: Rise to Glory | |
DCS World | |
Deisim | |
Derail Valley | |
Detached | Right click and choose «Launch in Oculus VR Mode» |
Dimensional | Right click and choose «Launch in Oculus VR Mode» |
Dirt Rally | |
Distance | |
Eagle Flight | Auto-detects |
Electronauts | |
Eleven: Table Tennis VR | |
Elite Dangerous | |
End Space | |
Euro Truck Sim 2 | Дописать в свойствах запуска ключ «-oculus» если вы играете по линку, или ключ «-openvr» если играете через Virtual Desktop |
Everspace | Right click and choose «Launch Everspace in Oculus VR Mode» |
Final Approach | Right click and choose «Launch in Oculus VR Mode» |
Final Assault | |
GORN | Opt into the «oculusnative» beta branch (no Oculus SDK for experimental branch) |
Gunheart | Add » -vr» to the launch options |
Hellblade: Senua’s Sacrifice VR | |
Holoball | |
I Expect You To Die | |
In Death | |
Infinite Minigolf | |
Just in Time Incorporated | Auto-detects |
Karnage Chronicles | |
Keep Talking and Nobody Explodes | |
Knockout League | |
L.A. Noire: The VR Case Files | |
Legend of Dungeon | Opt into beta, then right click and choose «Launch in Oculus VR Mode» |
Lethal VR | |
Lunar Flight | Opt into beta, then right click and choose «Launch in Oculus VR Mode» |
Mervils: A VR Adventure | You must launch it with the SteamVR option, but then it uses Native SDK) |
Moss | Add «-hmd=oculushmd» to the launch options) |
NewRetroArcade: Neon | |
Obduction | |
Onward | |
OrbusVR | |
Overload | Right click and choose «Launch in Oculus VR Mode» |
Paradiddle | |
Pavlov | Right click and choose «Launch in Oculus VR Mode» or add «-OculusNative» to the launch options |
Pollen | |
Preta: Vendetta Rising | |
Primordian | |
Project Cars | Right click and choose «Launch in Oculus VR Mode» or create a desktop shortcut to «steam://launch/234630/othervr» |
Project Cars 2 | Right click and choose «Launch in Oculus VR Mode» or create a desktop shortcut to «steam://launch/378860/othervr» |
Proton Pulse | |
Protonwar | |
Racket Fury: Table Tennis VR | Use launch option «-vrmode oculus» |
Racket: Nx | |
Radial-G | |
Raw Data | |
Red Matter | |
Redout: Enhanced Edition | Right click and choose «Launch in Oculus VR Mode» or add «-vr» to launch options |
Rez Infinite | Add «-vr=oculus» to the launch options |
Runes: The Forgotten Path | Right click and choose «Launch in Oculus VR Mode» |
Saga of the Void: Admirals | Right click and choose «Launch in Oculus VR Mode» |
Sairento VR | Opt into the «oculus-sdk» beta branch (no DLC/Achievements for Oculus-SDK branch) |
Serious Sam VR | Choose Oculus mode in game settings or add «+vrapi Oculus» to launch options |
Snow | |
Soundboxing | Right click and choose «Launch in Oculus VR Mode» |
Soviet Lunapark VR | |
Space Junkies | |
SportsBar VR | |
Sprint Vector | |
Star Trek Bridge Crew | Add «-vrmode oculus» to launch options |
Sublevel Zero Redux | |
Subnautica | You must launch it with the SteamVR option, but then it uses Native SDK) |
Superhot VR | |
SURV1V3 | |
Synth Riders | Use launch option «-vrmode oculus» |
Tethered | |
The Assembly | |
The Gallery — Episode 1: Call of the Starseed | |
The Gallery — Episode 2: Heart of the Emberstone | |
The Mage’s Tale | |
The Solus Project | |
The Talos Principle VR | Choose Oculus mode in game settings or add «+vrapi Oculus» to launch options |
The Thrill of the Fight | Right click and choose «Launch in Oculus VR Mode» |
The Vanishing of Ethan Carter VR | |
The Walking Dead: Saints & Sinners | Auto detect |
The Wizards | |
Thumper | Add «-oculus» to launch options |
Titans of Space 2.0 | |
Toy Plane Heroes | |
Trover Saves the Universe | |
Twisted Arrow | |
Ultrawings | |
Until You Fall | |
Vox Machinae | Right click and choose «Launch in Oculus VR Mode» |
VR Toolbox | |
VR The Diner Duo | Add «-vrmode oculus» to launch options |
VR Regatta | Right click and choose «Launch in Oculus VR Mode» |
War Thunder | |
Windlands | |
Windlands 2 | |
X Rebirth VR | |
ZomDay | |
Singularity 5 |
Когда пишут про «добавить нечто в опции запуска», имеется ввиду тут:
ПКМ на свойствах игры в Steam, Свойства и сюда пишем то, что просят:
Там же есть список игр, которые точно не имеют нативной поддержки Oculus, т.е. без Steam VR там не обойлись:
Title |
---|
#SelfieTennis |
Airmech Command |
Arizona Sunshine |
Battlezone |
BlazeRush |
Bow to Blood: Last Captain Standing |
Dick Wilde 2 |
Duck Season |
A Fisherman’s Tale |
FORM |
Fruit Ninja VR |
Gunjack |
Headmaster |
IronWolf VR |
Job Simulator |
Omega Agent |
Operation Warcade |
Pistol Whip |
Please Don’t Touch Anything |
Rick and Morty: Virtual Rick-ality |
Space Pirate Trainer |
The Invisible Hours |
Vacation Simulator |
Virtual Virtual Reality |
Еще важное о способах запуска VR игр в Oculus
ВАЖНО: Если игре для работы нужен Steam VR и у нее нет нативной поддержки Oculus SDK — ее невомзожно запустить минуя Steam VR.
Это как запустить виндовую игру без винды.
Про OpenComposite
Да, есть такая штука, как OpenComposite, которая в каких-то играх повышает производительность (вроде бы), заменяя собой Steam VR, но, я в нее особо не вникал.
Вот вам ссылка на Реддит разраба (англ.), изучайте, может быть, это вам как-то поможет. Мне для Квеста помог Air Link и поддержка ASW.
Далее, вы должны понимать, что, в зависимсоти от способа подключения вашего Oculus-шлема к ПК у вас может быть разный способ запуска игры напрямую.
Про проводные Рифты и Virtual Desktop
Если у вас проводной Рифт, т.е. Oculus Rift S или Oculus Rift CV1 (или вообще DK2) то, скорее всего, у вас сработает тот самый способ из таблицы сверху. Либо игра вообще сама запустит прямую окулус-версюи в ваш шлем (и так часто бывает).
Если у вас Oculus Quest или Oculus Quest 2, подключенные через Oculus Link кабелем или Air Link, то они так же притворяются проводными Рифтами. Однако, если вы играете через Virtual Desktop, там ваши шлемы будут определяться в зависимсоти от настроения разраба Virtual Desktop и описанные выше фишки могут не работать.
Пример: для ETS2 Oculus-версия запускается ключем «-oculus», а для работы по Virtual Desktop через Steam VR — с ключем «-openvr». Если их перепутать, там можно начать ловить интересные глюки с трекингом, например.
Однако, для Virtual Desktop есть вот такой список совместимости, где будет описано, как что делать.
Virtual Desktop и OpenXR
Начиная с версии 1.29.6 (вроде бы) в Virtual Desktop добавили возможность запускать VR игры минуя SteamVR через библиотеку OpenXR. В Virtual Desktop оно называется VDXR, и способ запуска игр меняется буквально в один клик, в настройках на ПК:
Options -> OpenXR Runtime — и там выбираете, что вам нужно
Смысл, как и со всем описанным выше — лучшая производительность, чем через SteamVR. Плюс, некоторые игры так лучше работают (дальше в ролике будет пример с меню, которое через SteamVR «не на месте»). Минус — не работает оверлей fpsVR.
Я сейчас использую Virtual Desktop для игры на Pico 4, так что, для меня это актуальная тема, хотя, статья вроде про Oculus.
Я сделал про это небольшой ролик, можете его посмотреть:
Про Oculus ASW
Я уже писал о ней в начальном гайде по Oculus Quest 2, но, снова повторюсь, т.к. тема важная, особенно, для слабых видюх.
ASW — это технология репреокции Oculus, которая позволяет вам получать более-менее плавный игровой процесс, меньше нагружая вашу видеокарту. По сути, от нее требуется, чтобы она была спобосна стабильно выдавать в два меньше кадров, чем в обычной ситуации.
Если вы играете с частотой 72 Гц, то для ASW вам нужно стабильных 36, если с 90 Гц, то 45 и так далее.
Если у вас старая или немощная (или и то и другое) видюха, то, вам имеет смысл включить ASW. Для этого идем сюда:
C:\Program Files\Oculus\Support\oculus-diagnostics\
Запускаем OculusDebugTool.exe и ставим ASW на авто, если это у вас не сделано:
При этом, в Steam VR вам наоборот нужно будет отключить режим репроекции и сглаживание движения, если они есть, т.е, должно быть вот так:
При этом я заметил, что у меня ASW само ставится на авто при запуске Квеста по Air Link, но, ее можно вырубить. Вы сами можете проверить ее работу, хорошо вам с ней или плохо. Она не решает всех проблем, но, если при обычной репроекции у вас двоится весь кадр, здесь вы будете видеть характерное замыливание краёв картнки. Как народ это описывает:
как смотришь в жаркий день через нагретый воздух
В играх, где у вас перед лицом какой-то интерфейс (например, шлем со здоровьем и прочее в таком роде) или нужно постоянно смотреть на оружие (щит, например, в одной из рук), этот эффект может быть не слишком приятным. Однако, во многих играх такая репроекция выглядит значительно лучше, чем классика, при этом позволяя задрать графику чуть ли не на ультра.
Вы можете попробовать ее в своих любимых проектах и или использовать, или отключить. У меня стали играбельны и Ходячие, и No Man’s Sky и другие игры. Даже на старой 1060-й на 6 гигов.
ВАЖНО: ASW не работает через Virtual Desktop, она работает или с проводными Рифтами или с тем, что ими притворяется (Квесты по Линку или Аэрлинку). Собственно, ради корректной работы ASW и стоит устраивать пляску с прямым запуском игры, минуя Steam VR.
Выводы
А вывод прост. Суть заметки в том, что часть (не все 100%!) игр может работать напрямую с Oculus, минуя Steam VR и это лучше, чем с ним. Поэтому не поленитесь для ваших игр поискать мануалы по этому запуску или убедиться, что такого варианта нет. Возможно, после этого вы передумаете обновлять свою видеокарту на новую, особенно с сегодняшими их ценаами)
На этом всё, с вами был @Pavel419, до новых постов!