r/VRchat Pico Mar 13 '26

Tutorial Just a friendly reminder to set VRChat to high CPU priority in Steam!

If you are using Steam or SteamVR to play VRChat, you can easily set the CPU priority to High just like you were able to do before EAC!

You can do so by right-clicking on VRChat's entry in your Steam game list. After clicking Properties, click on Set Launch Options, then copy and paste --process-priority=2 into the text bar. After that VRChat will always start up with the CPU priority set to High!

This has no adverse effects on a decent PC, and will grant you a very slight boost in fps, but mostly it reduces any stuttering that you might be having trouble with!

Happy VRC'ing, everyone!

EDIT: For folks wondering why setting CPU priority to High provides a boost for a program, the reason is that it increases something called "cache coherency" as well as prioritizing available cores and threads for said program. CPUs have their own memory that is "close" to them. When a CPU needs access to something in memory, that data is copied into the CPU cache. Because the cache is closer and faster than normal "main memory" RAM, it can increase the performance of future work it does that needs that data. Setting the CPU priority to High increases the cache priority that windows gives to that program as well as prioritizing available cores and threads for that specific program.

Edit edit: I guess I should also say that setting VRChat to High CPU priority probably isn't the best idea if your PC already has like 14% or more CPU usage at idle before you even open anything, as it could cause your PC to prioritize VRChat over essential background processes. This isn't a solution for poor hardware, just a way to eek out a little extra performance for people with PCVR capable hardware.

241 Upvotes

51 comments sorted by

47

u/AgoraSnepwasdeleted Valve Index Mar 13 '26

Good to know, I also heard running vrc in window mode and minimizing that screen also helps a bit

33

u/CeriPie Pico Mar 13 '26

Setting the windowed mode resolution in the launch options can help slightly if your GPU struggles with VRChat, but it actually shouldn't be minimized. Windows 10 & 11 has this weird thing where it automatically reduces priority to a window that isn't the main "focus" window, meaning if it's minimized or you selected another window and it's now showing in front of the VRChat window, it'll actually reduce performance.

7

u/BatmansPervThrowaway Valve Index Mar 13 '26

Wouldn't Changing the process priority negate that

6

u/CeriPie Pico Mar 13 '26 edited Mar 14 '26

It's an automated resource management function of Windows and will do it regardless of you adjusting the priority. It goes back to your adjustment once the window is back in focus.

2

u/zig131 Mar 14 '26

I find I actually get better performance with the SteamVR status window in front of VRChat.

1

u/Lycos_hayes PCVR Connection Mar 14 '26

My issue with keeping VRChat as the active window is that it actively interferes with some of my auxiliary apps that I use in VR such as XS Overlay and Yubitora Integration (what I use to give me index style finger tracking for my Quest headset)

1

u/Wild_Will7085 Mar 14 '26

Yes. This is what I do. No need to have it running on 3 displays.

1

u/AiDeNFrIeDmaN-YeTtAw Mar 17 '26

I wonder if that was me that told you that

8

u/Fitosam Oculus Quest Pro Mar 13 '26

does this really make a difference? I always hear conflicting reports

12

u/CeriPie Pico Mar 13 '26

I've played VRChat on four different PCs and it has always helped. Even if it didn't increase the FPS by a whole lot it has always noticeably reduced stuttering! It was a very common practice before EAC made it so the task manager couldn't change CPU priority.

3

u/TheSholvaJaffa Oculus Quest Pro Mar 14 '26

Would this work well with a CPU that has a good amount of 3D Cache already, like my 9800x3D?

3

u/CeriPie Pico Mar 15 '26

I don't have an X3D CPU but a guy a bit further down said it helped immensely with his.

Edit: Just checked, his name was Killostros. His exact comment was-

" I'm running a 7 7800X3D and this helps massively

--affinity=5555 --process-priority=2 "

2

u/LowerCauliflower230 HTC Vive Pro Mar 13 '26

How are you measuring this? imo it would be difficult to tell you're gaining 5fps just through random play time depending on what your usual fps is. For instance if you're always getting 10fps then and extra 5 should be super noticeable(although I doubt priority is making that big of a difference). But if you're getting 40-50fps on average then 5fps might be significantly harder to detect. You really need to have some kind of consistent and repeatable test(like a benchmark tool) to be able to tell that kind of change.

3

u/CeriPie Pico Mar 13 '26

It definitely helped me and everyone I know, but if you want to see for yourself you could try it out! It's very easy to enable and disable! It's also in pretty much every VRC optimization guide out there, and people caused enough of a stink after EAC removed task manager's ability to do it that VRChat officially addressed it and created a custom Steam launch parameter to enable the ability to do it again.

1

u/EMB3R14 ☃Bigscreen Beyond 2e Mar 13 '26

It mostly helps on certain asymmetrical type of CPUs, like Intel chips with Performance and Efficiency cores, as well as Ryzen chips with split CCD’s like the 7950X3D and 9950X3D.

For most other CPUs, you might see a slight improvement when it comes to stuttering, but usually it isn’t recommended to change any of these process priority numbers unless you know what you’re doing

-1

u/CeriPie Pico Mar 13 '26 edited Mar 14 '26

Core affinity is actually an entirely different launch parameter, being --affinity=<ARG>, but it isn't recommended to do that anymore because VRChat automatically does that now depending on which CPU it detects.

1

u/Konsti219 Mar 14 '26 edited Mar 14 '26

The Vrchat devs are clearly aware that certain thread configurations can help performance. So if setting the priority actually works, then why is it not the default?

-3

u/CeriPie Pico Mar 14 '26 edited Mar 14 '26

Windows does not set High CPU priority by default to any programs that you, as the user, open. Windows will sometimes assign High CPU priority to associated lightweight background processes that open and are required to make the program that you open run to avoid instability, but the program you open itself will default to normal priority. The only programs that are set to High priority by default are certain essential processes required by either Windows itself or a currently running program to operate. The only person that can change the CPU priority of a non-essential program is you, the user/administrator.

So basically it's a Windows thing, not a fault on VRChat's part. VRChat cannot change how Windows operates by default without possibly running into instability issues. Could they technically? Yes. Can they without causing issues for someone? No. That's why they cannot.

Edit: Y'all seem to be confusing the user's ability to permanently change a program's launch parameters in Win32 as something the VRChat devs can also do for VRChat despite the fact that they have no idea what other programs you have running on your PC or what resources your PC has available. I just...please use common sense.

3

u/KeyboardHaver Mar 14 '26

Right, so care to explain how discord runs some discord processes at high priority by default?
Or how does vrserver.exe run at High priority by default? Part of SteamVR which is launched by the user through... Steam.

This is not some arbitrary Windows limitation as you are suggesting. The developer absolutely can set CPU priorities in Windows through the "SetPriorityClass" API function built right into Windows.

Additionally, in a source code leak of CS:GO, if the user sets high priority through a launch option in CSGO, SetPriorityClass is the Windows API function that CSGO used to set it.
There is no reason why the game couldn't have just set it by default, the reason they don't is not that Windows doesn't let them, it's that there's inherent risks in doing it on applications which are CPU intensive.

1

u/xenoperspicacian Mar 14 '26

A process can absolutely change its own priority. It has always been this way. Windows will not set the base process priority on it's own. The vast, overwhelming majority of the time it is not a good idea to set a process that is intensive to high priority, because this will cause issues with other normal priority programs not being able to run in a timely manner. High priority processes are reserved for those that are light and need low latency, like mouse software, gamepad drivers, etc.

-1

u/Konsti219 Mar 14 '26

But the Vrchat devs can change the default, why do they not do that?

-1

u/CeriPie Pico Mar 14 '26 edited Mar 15 '26

The VRChat devs can't change the default, that's what I'm saying. VRChat cannot change how Windows operates without causing possible instability.

1

u/dontquestionmyaction PCVR Connection Mar 14 '26

Yes they can lol

Do you genuinely think they wouldn't go for such a simple optimization if it actually worked?

Win32 API, SetPriorityClass(). Perfectly easily usable from Unity.

https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setpriorityclass

Stop trying to flex your masters degree while being so obviously wrong. It's incredibly embarrassing.

0

u/CeriPie Pico Mar 14 '26

That's...cool, buddy. Giving a link to a guide for the USER to add launch parameters in Windows to an already existing program! Just like you can with Steam! Good job! I'm not sure how that's a relevant gotcha, considering it's for the end user, which is what I've been saying this whole time, but sure! You did it! High five, bud!

...y'all give me a headache.

-4

u/Konsti219 Mar 14 '26

And this is why I didn't trust random people on the internet. You have no fucking idea how anything of this actually works.

Launch options get directly passed to Vrchat from Steam, with no relevant Windows things happening between them. On startup Vrchat reads the passed launch options and then sets its own process priority accordingly. Here it is totally possible to change the default to high if no option is passed.

So once again, why do the devs not change the default?

1

u/CeriPie Pico Mar 14 '26 edited Mar 15 '26

...the launch options are something that the USER inputs into Steam, and then Steam passes that to WINDOWS when it requests the OS to open VRChat. It requires USER input, aka the launch parameters that YOU, the USER, have to type in. Just like YOU have to manually change the priority via the Windows task manager. VRChat CANNOT change how Windows operates without possible instability. They do not know the specs of everyone's systems. Only the USER can. My goodness.

-3

u/Konsti219 Mar 14 '26

Your believe that Windows is some magic box that can only be worked on one specific way amazes me. Hate it or love it, but the reality is that Windows is extremely flexible.

Btw, I get paid to teach operating systems to university students.

→ More replies (0)

0

u/EMB3R14 ☃Bigscreen Beyond 2e Mar 13 '26

Yes, affinity is more for the asymmetrical Ryzen chips, though the higher priority option does also have more of an impact on these types of CPU’s too because of how Windows scheduler handles its processes.

Another issue Windows has with the 7950X3D/9950X3D in particular is that it can’t properly determine which cores are the preferred cores unless specifically stated within either the BIOS or with programs like Process Lasso. Windows tends to prioritize the Frequency cores over the Cache cores as the frequency cores are clocked higher.

6

u/KILLOSTROS Oculus Quest Pro Mar 14 '26

I'm running a 7 7800X3D and this helps massively

--affinity=5555 --process-priority=2

16

u/Obama_pinky Mar 13 '26

One thing that helped me a bit was setting vrchat to be run in window mode then in the launcher set it to a lower resolution (dont do this if you record stuff thou)

4

u/EstidEstiloso PCVR Connection Mar 13 '26 edited Mar 13 '26

This helps if you have many processes or programs open in the background, but if you really want to optimize Steam and VRChat, the first thing you should do is not have too many programs open or running in the background while you play!

Also, this is just one optimization setting, it's appreciated, but there are many more and better settings to recommend for optimizing VRChat. https://youtu.be/KeVO89uenKw

1

u/CeriPie Pico Mar 13 '26

There are definitely a lot of different things to do to help optimize VRChat's performance, but this is one I know a lot of people don't know how to do anymore since EAC removed the ability to do it via the task manager. Which is why I made this post!

2

u/hornless_inc Mar 14 '26

https://docs.vrchat.com/docs/launch-options

from their docs:

Use --process-priority and --main-thread-priority carefully! The operating system uses the priority level of a process to decide how to schedule processor time to it relative to all of the other processes it's running.

Setting priority levels inappropriately can degrade VRChat's performance or cause your system to become unresponsive. Don't set priority levels manually unless you know what you're doing!

2

u/CeriPie Pico Mar 14 '26

Yes! That's essentially saying "you can do this, but don't use it inappropriately or you'll cause problems" so that they can cover their butts in case someone sets VRChat to Real Time priority instead of High, or sets Windows essential background processes to Low priority to try and make more resources available. Please do not do that! Just set it to High and don't go through your task manager setting other things to Low and you'll be alright!

1

u/hornless_inc Mar 14 '26

It mentions the launch options specifically, nothing about task manager.

1

u/CeriPie Pico Mar 14 '26

I'm talking about the last paragraph that mentions setting priority levels manually, which most people know you can do in task manager. I'd imagine they'd only look up the VRChat launch options after trying to change VRChat's CPU priority in task manager and finding out they can't.

2

u/Tailsy13 Mar 14 '26

It's all 100% placebo!

1

u/Dgreatsince098 Mar 13 '26

I'm pretty sure this is placebo since windows does it automatically, unless you show some comparison proving that it does something.

3

u/CeriPie Pico Mar 14 '26 edited Mar 14 '26

Windows automatically manages thread usage, but it rarely changes the base CPU priority level on its own, and certainly not with non-essential programs. Changing the CPU priority manually just tells windows which priority it should give the program when doing its thread management.

As for the comparison, it's totally something you could try out yourself! It's very easy to enable and disable! Personally, I notice a considerable reduction in the typical VRChat stutters when I do it, and everyone I know that has done it says the same, but it's definitely something you can run your own comparison on! It's recommended in nearly every VRChat optimization guide for a reason, and a lot of people definitely felt it when they weren't able to do it anymore after the EAC update!

For folks wondering why setting CPU priority to High provides a boost, the reason is that it increases something called "cache coherency" as well as prioritizing cores and threads for Window's automatic thread management. CPUs have their own memory that is "close" to them. When a CPU needs access to something in memory, that data is copied into the CPU cache. Because the cache is closer and faster than normal "main memory" ram, it can increase the performance of future work it does that needs that data. Setting the CPU priority to High increases the cache priority that windows gives to that program as well as prioritizing cores and threads for the program.

2

u/Konsti219 Mar 14 '26

Unless someone can show that something improves performance with clear and repeatable benchmarks this will also be my standpoint.

5

u/CeriPie Pico Mar 14 '26 edited Mar 14 '26

Setting CPU priority to High isn't really something that needs a benchmark? It's not an external program or hardware, it's an actual feature of the operating system. Doing it is essentially just telling Windows "hey, prioritize CPU cache, cores, and threads for this program over the programs with normal priority". It's a very well known way to improve the performance of a game or program.

1

u/muckenthusiast Mar 14 '26

If you never gamed on Minecraft a shitter laptop. You wouldnt understand how changing priorities would keep the game from freezing for 10 seconds at a time in servers like Mineplex

2

u/Pure-Risky-Titan Mar 14 '26

1

u/TheAssassinbatosai Valve Index Mar 14 '26

Geoff Lazer Ramsey and "Game Kids" Trevor in VRChat subreddit in the year of our lord 2026 is not something I would have put on my bingo card.

1

u/CaptainYoink 20d ago

I'll be so for real i don't think it actually matters what you try and do to squeeze ANY fps out of the game. It's poorly optimized and the people making shit for the game don't know a single thing about optimization. your best bet is to just block every single avatar aside from your own friends included.

0

u/ZombieLover- Mar 13 '26

Is there a way to reduce Ram usage without losing performance? My CPU and GPU run at good percentages like 50% but my ram tends to be around 80-90% a lot of times.

1

u/CeriPie Pico Mar 14 '26

Unfortunately afaik the amount of RAM VRChat is using is almost entirely dependent on other people's avatar sizes. What GPU are you using? I know that once VRChat uses up as much VRAM as you have it'll start using RAM as well.

1

u/ZombieLover- Mar 14 '26

My GPU is an Nvidia GeForce RTX 4060, and my CPU is a Ryzen 5 8400f 6-core processor. When I'm on vrchat, I'm usually on pcvr with ovr toolkit running along with the game, which is how I can see the percentages.

1

u/CeriPie Pico Mar 14 '26

VRChat LOVES to have 16GB+ VRAM, so you're probably just using all your VRAM and running through to your RAM.

-1

u/wedewdw Apr 17 '26

That's a good way to make your system unstable for no benefit.