vr performance

… has always been kind of a mess for me. it’s not really surprising since i started out with an i7 4770k (that i still use) and an rx 570 4gb then upgraded to an rx 6600 but ever since around the release of steamvr 2.0 i’ve been noticing performance degradation that i never noticed before. display errors/purple frames all the time, constant slowdowns in the steamvr system menu, unplayable amounts of stuttering in beat saber, hell it was allocating all of my ram at one point for no reason specifically when i was using my original vive to play specifically beat saber and never any other headset or game. funnily enough that happening does indeed cause everything on my machine to crash and reset but thankfully that one seems to be fixed now at least. only the other day i tried accessing my steam account management inside of vr to add money to my wallet and it caused my entire frame graph to go purple.

i decided to play beat saber yesterday and surprisingly it was working well enough that i could stream it to a friend group i’m in with fairly minimal stuttering. that experience caused me to look a bit further into what’s causing my performance issues…

much like many other developers on steam, valve allow you to download older versions of much of their software by opening the betas tab of said software. under steamvr’s beta tab are many different options. two for the macos build, the actual beta itself of course, an option that allows you to go back to the previous version, and a few older windows builds. as of right now one that’s just labelled “Temporary branch […] (for testing)” and the one I decided to install, “oculus_win7and8”, version 1.15.12, which exists primarily from my understanding to allow windows 7/8 users who need to use an old version of the oculus software to still be able to use steamvr to some extent. today i’m using it to prove a point, it would seem.

so i install it and unsurprisingly half of my overlays don’t launch. the reason for this ends up being a pretty important issue later on so i won’t spoil my fix for that. in the meantime i just downgrade all the ones that have a downgrade in their betas tab and disable the ones that don’t. i open beat saber and immediately the game no longer stutters in a way that makes it completely unplayable. i set some of the best plays i’ve set ever, including my actual personal best scoresaber play as of the day i wrote this, and feel really happy that i’m actually able to play the game again. additionally somewhere in the process it turned down the intensity of the controller vibration in game which ended up being really nice for me, i tend to switch between having them on and off and the subtleness of the vibrations now are actually a great middle ground between on and off. and even better, now opening the account management page on steam doesn’t cause my graph to go purple! it just opens in the steam client itself instead of the big picture mode web browser in vr.

quite quickly into this i realise that staying on an old version of steamvr isn’t really going to be sustainable. vrchat is completely unable to launch in vr mode when you’re running a version of steamvr this out of date and i assume many other games share the same issue. this is the pretty important issue from earlier! and here’s the fix.

the old ui still exists in steamvr, you can access it if you close the steam client in vr. i assume it falls back to the old ui when steam is closed because all the features of the new ui wouldn’t work without steam open. but either way it’s still there which is a good thing in my eyes. this means that you’re still able to use it as your main interface, even with steam open, because it still exists in basically its entirety. choice, we love it! and surprisingly enough the way to change it is an official thing, you just need to add a line to steamvr.vrsettings (located in C:\Program Files (x86)\Steam\config\). under the block of text labelled “dashboard”, add the line “allowVRGamepadUI” : false, including the quotation marks. make sure that everything is still comma separated and that the option at the end of the block doesn’t have a comma at the end of it, save the file, then start steamvr.

a picture of my steamvr.vrsettings “dashboard” section, for visual reference.

congrats. you should notice that you’re now back to the old ui, with a bit of a steamvr 2.0 twist. if you’re running a machine as underpowered as mine, your first thought might be “let’s open vrchat and see what the performance is like now!”. so, as a result of the fact that i am indeed running a machine as underpowered as mine, i opened vrchat and basically all of my purple frames are gone and my performance has increased in some cases. for example my most definitely very feature-rich home world used to run around 70 fps. it now runs considerably closer to 90. as another example, my framerate in Cozy Cottage is still sub-30. but in my case the purple frames are gone and that’s what matters to me really. if you’re getting purple frames you’re getting constant really strong and noticeable, almost sickening stuttering along with a mad amount of compression if you’re using any wireless solution no matter what your framerate is. despite my main issue being with the purple frames however, this does seem to just be a universal performance boost. games are more stable now, the less intensive of them now getting closer to actually reaching their framerate targets.

i am going to continue testing this. i’ll record some frame graphs of me playing various games with the new ui enabled and disabled, and i’ll post them in a page along with an analysis of the data right here to share with you all.

edit: between the time that i wrote this and now, i have received a vive pro link box and tether cable in the post that i’ve been using for about a week. using that has significantly upped my performance too, to the point that i now am getting considerable increases in my framerate everywhere, with the obvious trade-off being that i no longer feel as free while standing up in vr. (although i must say i remember being tethered on my old vive as a lot worse than what i’m experiencing with the pro. maybe there’s some sort of difference in how the cables feel on a pulley? i never upgraded from the triple tether cable on the original vive so…) i will also be testing the performance of the new ui enabled vs disabled using the tether to see if it makes any noticeable difference if you’re not using a wireless solution.