The Roblox client uses too much CPU even while in a game that’s just an empty baseplate. The MicroProfiler is almost empty, with most tasks finishing way before the 16ms time limit. Roblox Studio doesn’t showcase this behavior. Furthermore, the issue can be improved (but not fixed) by setting thread affinity so that Roblox only has access to 4 threads, which might suggest that it’s related to task scheduling.
Note: The platform isn’t allowing me to upload media, so I’ll add them afterwards if I can by editing the post Already done
No thread affinity
MicroProfiler dump
Notice how in the CPU usage graph, CPU 1 and 8 are reaching 100% usage almost constantly
With thread affinity (first 4 threads)
MicroProfiler dump
This time, the load is spread evenly across the first 4 CPU cores
Roblox Studio
MicroProfiler dump
Studio only used 1%-2% of the CPU, compared to the client’s 10%-12%. No single thread is overloaded here.
Instructions
- Launch the Roblox client
- Open any game (preferably one with no or few scripts)
- Open Task Manager
- Take note of the CPU usage
- Repeat but with Roblox Studio
Setting affinity (optional)
- In Task Manager, right-click on “Roblox Game Client”
- Next, click on “Go to details”
- Right-click on “RobloxPlayerBeta.exe”
- Select “Set affinity”
- Uncheck “All processors” and re-select the first 4
- Click on OK
System information
- OS: Windows 11 Home 23H2
- CPU: Ryzen 5900x
- RAM: 16GB
- GPU: RTX 3070 (Driver version 552.22)
Expected behavior
I’d expect Roblox Player’s CPU usage to be more in line with Studio’s usage. I’d also expect Roblox to spread across cores more evenly without having to manually set the affinity.