Extremely Poor Performance On Modern Hardware
Nekoputer
VRChat Version: build 1032
Description of the bug: Very poor performance on modern hardware
Steps to reproduce (how did you encounter the bug?):
Can not provide. Just run the client as normal with said hardware.
Details:
Firstly, I'm using a computer that is as top-of-the-line as it get's and yet, I'm getting locked at 30 FPS in an UDON world. The frame timings I've shown in the screenshot attached shows my GPU is literally waiting on frames to render most of the time. Hence a lot of yellow and red in the gpu performance graph. The gpu delay is between 3-4ms. However, it appears my CPU isn't being fully used either. In fact, whenever I load up VRC, it uses all the cores and yet we're told it's primarily single-core.
I'd like to know where the bottleneck is exactly. I SHOULD NOT be seeing these numbers/stats on the following hardware...
Asus ROG Crosshair VIII Hero Motherboard
AMD Ryzen 9 5950X (3.4 GHZ base, boost 4.9GHz)
64GB RAM DDR4-3600
NVIDIA RTX 3090 24GB
Judging from the CPU usage, something is heavily bottlenecked within the client itself. otherwise I'd be seeing cores at 100% usage & temps of 90C (normal temperature for 5950X, look it up).
This really does show there's an issue with the client itself somewhere. For the love of god, offload some tasks from the main thread to sub threads. Make VRC support multi-core properly instead of heavily relying on a main thread.
Log In
KawaiiWaifu86
Still waiting on an update for this to this day.
Nekoputer
This problem got fixed for me by doing a fresh install of windows. Surprisingly, it wasn't a vrc issue but rather an OS issue which for some reason, corrupted drivers. Using DDM didn't work surprisingly.
ᴍᴀsᴏɴᴇxᴇ
exactly the same thing i got and previously got 30fps but now its 8
to 16fps now, sad T^T
Irix
Same thing with 20 core cpu with 128gb octa channel ram and RX5700xt ultra. I'm using a Vive pro and Cosmos elite. The game runs slowly and my hardware seems to be "waiting" for processes.
ville672
After the vrc+ update my fps tanks heavily after hanging out in an udon world for 45 minutes or more.
serasarg
I'm seeing similar performance issues on lesser hardware i.e. Gtx 1060 6gb with a ryzen 5 1600, and even people using just a Quest 2, in terms of frame timing. Unity has had support for multi-core officially since 2018 and I've seen a few other popular games take the time to implement a rigid tasking structure that works across many cores over the past few years without a full overhaul of their core game code.
Considering how when the vrc+ update came into being that a lot of these performance issues were noted, I would think it possible now with the intake of funding and the estimated bankroll listed for the company, that at this point the team should seriously take a step forward in trying to work through issues and test accordingly with hardware before new updates are made live.
Since the last major updates, people joining the world, changing an avatar or even opening the menu can cause a crash. The frame timings are lackluster, leaving me waiting and hoping that it's just the client catching up rather than me having crashed again.
MrTactical
well for them to fix there overall issues with code offloading and optimisation, they would practically need to rebuild the game from the base code, which will take a significant amount of time and money to fix, plus all those labour hours to get it gong again.
Plus unity itself typically likes to keep many things on one single thread so thats why its difficult to offload some due to engine itself, and you have to do some voodoo magic to get to do muti-threading properly.
Nekoputer
MrTactical: It just seems like the main thread is always stuck waiting or something or my system's just too fast which shouldn't be the case. I honestly don't know what is causing it.
I've already tried swapping USB ports, making sure drivers, firmware, etc are updated, checking windows power management, etc. I've reinstalled VRC aswell. I'm about to do a clean GPU driver installation incase of a driver corruption to see if that solves anything.