Since the latest roblox update there have been issues where particle effects somehow cause massive spikes in gpu utulization.
The way we got to reproduce this is by spamming a bunch of particle emitters in an enclosed area ingame but this happens to a lot of other games aswell according to some people i spoke to.
I have gotten the same issue that the OP has. It’s nothing to do with particle spam. The particle spam itself just ignites the fire that slowly grows to consume GPU resources, and it can persist even after the particles stop rendering.
It also doesn’t depend on how good your PC’s system specs are. It just consumes like 80% to 90% of the GPU consistently across various systems. You can’t even rely on the performance stats or the micro profiler to tell you how much of your GPU is being consumed; it simply does not show it (that’s why the OP attached a picture of GPU usage shown in Window’s Task Manager).
Here’s an example of someone else’s GPU percentage.
For extra context, I set the graphics level to 0 on the client when I did the test. Ideally this should at least optimize out much of the vfx that would sensibly call for greater use of GPU resources. However, it still tends to settle near 70-90% most of the time, and my laptop fans still sound like a jet engine.
This is not something that is called to attention by most, which is understandable, because only a few have reported the issue. However, my friend recently told me that his GPU resource usage percent started to skyrocket to 80-90% when playing some of the usual games he plays on Roblox. Before then, it usage percentage usually settled lower than 30%, and he had a similar GPU type to the ones show in the images from the message this replies to.
Do you by any chance have the video/screenshot/stats from the previous versions of the Client or Studio?
Is it something that just started happening?
Did you update any GPU drivers or Windows itself?
Unfortunately, I don’t have any screenshots of the issue on previous versions. The issue itself is something apparently recent to few (not exactly sure why, but could also be the case that many don’t know they have the problem or they just ignore the issue altogether), but because of that it doesn’t get flagged as often as it should. When it does happen, it spans the duration of an entire session until you close the client.
Whether new updates to client caused the issue to recently show itself to some others, I am still not certain about. What I am certain about is that it isn’t fixed when you reinstall the graphics drivers, update windows, or reinstall the client.
The reason why I say I am not certain about it being caused by new updates is because this issue has been happening to me specifically for years, but only recently to all of my friends, and they have far better GPUs than I do.
Surprised no one has mentioned this, but this isn’t a bug.
This is just GPU overdraw issues, transparent particles need to read and compare what ever is under the particle.
This is not a parallel operation, you must do every particle in order, this will make the GPU stall.
"Using alpha-blended quads can be a simple and effective solution for implementing many particle effects, but unfortunately, it does have some drawbacks.
Lots of alpha-blended particles can lead to a huge amount of overdraw. This is because in order to render an alpha-blended (partially transparent) particle the GPU has to take into account any fragments behind the particle. This means it has to potentially rasterise many more fragments for each pixel than normal, leading to a lot more work. This could be a problem even for relatively small numbers of particles if their on-screen size is large. This is a particular problem for PowerVR and its dedicated Hidden Surface Removal (HSR)."
In games such as Halo 5 Guardians, developers lower the particle emit count if it was too close to the camera in order to keep 60FPS at all times, maybe you can implement something with collection service and lower particle count based on magnitude to camera?
I’m not sure if Roblox changed how particle culling work in a recent update, but please be wary of overdraw, it can really tank perf.
We will keep an eye on it, but it doesn’t look like there a specific recent bug or regression in Rendering.
Many particles fullscreen overdraws are expected to slow down the gpu. Then it’s up to the OS and drivers to decide on the gpu activity, power, fan speed e.t.c.
The batches, materials and triangles being calculated seem to be the same even when moving the camera in and outside the smoke.
I can understand the processing time to be longer, but i dont understand how this is capable of using up 56% of the 3d rendering of my 4090 gpu compared to the usual 7% when the camera is outside of the smoke.
In my eyes roblox is not really like a triple a game that can use up 90% of your gpu usage, it usually uses up 5-7% of my gpu max for me.
When decreasing the rate from 60 to 30, the window only takes up 17% of my gpu usage instead of 56%.
I think most other developers should take a look into the vfx rates they have set up as well. For if it is true that this isn’t really a bug, it should be imperative that more efficient, less intensive vfx is encouraged. As far as I know, this seems to be seriously overlooked.
Should be more ridiculous that most developers (looking especially to those working on somewhat frontpage kind of experiences) seem to take it to the full extreme without even realizing it, and then you get people complaining about their GPUs frying up even at the lowest graphics settings.