How to boost VRChat FPS using VR Performance Kit

This is not an engineering post like I usually do. Instead, this one is for my friends. Showing them how to use a specific tool.

VRChat is a great game. Probably the only MMO that is not a RPG (Besides one time my friend mentioned it's actually a MMOERPG. Hehe). However the performance can be absolutely awful. Mostly maps not using LoD or avatars with 1M+ polygons. My PC, running a Ryzen 3700X + GTX 970 can only get a poor 36 FPS in my homeworld, with a giant mirror, connected to my Quest2 via Air Link (via Wifi 6/802.11ax and 2x2 MIMO).

Fear not, VR Performance Kit can somewhat mitigate this. For me, instead of 36 FPS:

36 FPS on VRChat with native resolution

With VRPK. I get a somewhat a stable 72 FPS in the same setting. Photo is 54 FPS due to using the in-game camera, adding additional load to the GPU.

High FPS even with photo camera on in VRChat!

For people using OpenVR FSR[1]. Please remove OpenVR FSR. VR Performance Kit is the author's next iteration. It is actively maintained and updates will keep on coming.

VR Performance Kit

Essentialy VR Performance Kit[2] runs VRChat at a lower resolution. Then it applies AMD's FSR image scaling algorithm in an attempt to "fix" the image quality. With less pixels to render, the game can run a lot faster. At the cost of some image quality. However, the the image fixing process is not perfect. There'll be some artifacts, especially when you turn the rendering resolution way down. But it never reaches a point it's unplayable.

Oh! No worries if you are using a Nvidia card. AMD make the FSR runable on Nvidia cards too.

How to install

Installing VR Performance Kit is very easy.

  • Download the latest version from their release page[4]
  • Extract the archive and copy required files to C:\Program Files (x86)\Steam\steamapps\common\VRChat
  • Open vrperfkit.yaml and change the rendering resolution
  • Profit!

First, download VR Performance Kit here. Download vrperfkit_v0.3.zip (or whatever latest version is) in the "Assests" section.

Image: Download VR Performance Kit

Next, extract and copy dxgi.dll and vrperfkit.yaml to C:\Program Files (x86)\Steam\steamapps\common\VRChat

Image: Install VR Performance Kit for VRChat

Now, open vrperfkit.yaml with notepad (or any text editor, I'm using VSCode) and change the renderScale option. I personally use renderScale: 0.65. Though you shouldn't need such agressive values with a better GPU than mine. This option scales both your horizontal and vertical resolution. So, a renderScale of 0.5 will make your game only render 25% of pixels.

Image: Edit renderScale in vrperfkit.yaml

And you are done! Enjoy the FPS boost!

Unfortuantely, I can't show you the artifact caused by lowered resolution. VRChat's main windows has quite bad image quality under VR mode due to low FOV. And the in-game photo camera still runs at 100% quality. Just trust me a little artifact it worth the 2x FPS boost.

Is this safe/legal?

Safe? Indeed VRPK not something supported by VRChat. But it is an open source[5] project that anyone can obtain the source code and allow anyone contribute[6]. It is safe in the sense that outside engineers (including me) consistently read the code and will warn if VRPK contains security issues.

Also (as an engineer, IMNAL) this does not consitute distibuting/running a modified VRChat SDK or client, which VRChat explicitly forbids. VRPK loads FSR into VRChat indirectly to fix their performance issue. Which, to be honest, is something VRChat should fix themselves. But they didn't and engineers got mad and take the matter into their own hands. Exactly like how Optifine was born becaaue Minecraft performance sucked.

I can go into detail why this is not modifing in an enginnerring sense. But I'll spare everyone's sanity.

Author's profile
Martin Chang
Systems software, HPC, GPGPU and AI. I mostly write stupid C++ code. Sometimes does AI research. Chronic VRChat addict
  • marty1885 \at protonmail.com
  • GPG: 76D1 193D 93E9 6444
  • Jami: a72b62ac04a958ca57739247aa1ed4fe0d11d2df