Resonite-Issues icon indicating copy to clipboard operation
Resonite-Issues copied to clipboard

PhotonDust: Persistent performance issues after excessive particle induced slowdown on Linux

Open mxjessie opened this issue 8 months ago • 11 comments

Describe the bug?

Test/Reproduction world here: https://go.resonite.com/record/U-qualia/R-25ba71b3-ac2f-43dc-bffc-c96633ec3653

A PhotonDust simulation with an extreme number of active particles will slow down Resonite's overall performance, as expected.

On Windows, when the particle count is reduced, either by particle lifetime or parameter adjustment, Resonite's overall framerate will return to normal.

On Linux (testers wanted!), when the particle count is reduced after an extreme-particle-event, if any particle system is still active anywhere in a world with even a single active particle, the original framerate impact felt in the initial particle excursion will still be felt, at least partially. This leads to significant persistent performance degradation which requires a client restart to resolve.

Leaving the world in which it occurred does not resolve it. Removing every active and emitting particle system from a world will restore the original performance. Particle systems that are active but are not emitting/simulating particles do not have an impact. A one-particle system completely stripped of simulation modules is sufficient to cause the issue, as long as that single particle is active in the world.

This appears to be entirely specific to Linux. I do not experience this same issue on Windows, on the same hardware.

To Reproduce

On Linux, start a new empty gridspace Create a new ParticleSystem. Note the fast simulation speed Set the emitter rate to some very high value, like 1,000,000 Set the maximum particle limit to some very high value, like 1,000,000. Note the slow simulation speed Reduce the maximum particle limit to the original 100. Simulation remains slow, with commensurate impact on framerate Disable the entire ParticleSystem and performance returns. Re-enable and framerate drops again

After this, any active ParticleSystem in any world, regardless of heaviness, will have a similarly severe performance impact, until the client is restarted.

Expected behavior

The PhotonDust engine should return to its original high performance when a poorly-performing particle system is rectified or disabled/destroyed. This slowdown should also not persist across all active instances of particle systems.

Screenshots

https://github.com/user-attachments/assets/681afa36-16ef-4d3b-9382-929c1d35612f

Resonite Version Number

2025.4.10.1305 through 2025.8.9.420 inclusive

What Platforms does this occur on?

Linux only

What headset if any do you use?

Quest 2, WiVRn

Log Files

SPINCOAT - 2025.4.10.1305 - 2025-04-17 00_43_42.log

Additional Context

14-core Xeon W 2275 (no HT), 64GB ECC DDR4, 2080 Super, GE-Proton9-22-rtsp17-1 (now GE-Proton10-10)

Experienced previously while designing complex particle effects, and also now while attempting to hunt down a potentially PhotonDust-related headless crash.

Reporters

qualia (qualium on discord)

mxjessie avatar Apr 17 '25 08:04 mxjessie

I am still experiencing this issue on Beta 2025.9.23.1237, and all prior versions.

I made a reproduction test world and published it, in hopes of getting more feedback.

https://go.resonite.com/record/U-qualia/R-25ba71b3-ac2f-43dc-bffc-c96633ec3653

I've gotten a few Linux users to test this out, and so far only I seem to be affected by this.

mxjessie avatar Sep 26 '25 20:09 mxjessie

Can you show what the debug dialog metrics look like when this happens?

Frooxius avatar Sep 26 '25 20:09 Frooxius

Sure thing. Beta 2025.9.23.1237, no mods or command line options, technically on the Satori GC right now. If that's a confounding issue I can try and revert to the old one, but it hasn't changed this particular behavior any.

Before, 10 particles active, >>90 FPS (didn't catch exact number without dash open):

Image Image

During, 1M particles active, ~8 FPS:

Image Image

After, 10 particles active, ~13 FPS:

Image Image

Particle system disabled, ~330 FPS:

Image Image

mxjessie avatar Sep 26 '25 20:09 mxjessie

I can repro it using the provided world here are my logs

void-live - 2025.9.23.1237 - 2025-09-27 00_13_28.log

Naia-love avatar Sep 26 '25 22:09 Naia-love

Unfortunately, I can not reproduce this issue with the provided setup. (Which is intriguing, because I distinctly remember having encountered the issue once, during the pre-release.)

In order to try to replicate the issue, I duplicated @mxjessie ’s setup 3 times and run all of the particle systems at full blast for a few dozen seconds. And despite my framerate crashing down to 5 FPS when they were all active, it went immediately back to max FPS upon setting them back to low (not turning them off). This log file is from my desktop testing, but I also tested it in VR without encountering the issue either.

PC-Urban-Garden-Endevour - 2025.9.23.1237 - 2025-09-27 02_11_55.log

Side note: if someone wants to get a grabbable spawnable version of @mxjessie ’s setup, here is a copy of it I made for the purpose of my testing: resrec:///U-1Udo02hMUFc/R-99875046-ff2f-4f96-b5dc-e4d14cd69fc4

Baplar avatar Sep 27 '25 00:09 Baplar

Can't reproduce on Linux EndeavourOS with Nvidia RTX 4070 Super and AMD Ryzen 5 7600X, using ProtonGE10-17

Tested in Screen mode

owo - 2025.9.23.1237 - 2025-09-27 13_39_34.log

Nytra avatar Sep 27 '25 12:09 Nytra

I failed to replicate this on my own, but I have a feeling this is not a linux-specific issue actually, as I have previously had massive near-unexplainable lagspikes in the frog bog (a very particle heavy world) that were very similar to what is described here with lag being persistent even when you wouldn't expect to be without having to disable everything essentially.

The only problem is for me its very inconsistent so I don't know how to force it to happen

Dusty-Sprinkles avatar Sep 27 '25 17:09 Dusty-Sprinkles

@Nytra Your log lists your GPU as "Raphael (rev c7)", can you verify that Resonite wasn't running on your iGPU? Currently trying to rule out this being an NVIDIA-specific issue.

mxjessie avatar Nov 30 '25 11:11 mxjessie

I'm not sure how to verify that aside from the fact that I'm getting more than 100FPS which shouldn't be possible on an iGPU

Nytra avatar Nov 30 '25 11:11 Nytra

On Linux, nvtop will show your NVIDIA GPU's current usage stats, including which applications are running on it. If Resonite is running on your NVIDIA GPU, that would be a separate Resonite bug

Image

mxjessie avatar Nov 30 '25 12:11 mxjessie

Yes it's running on the Nvidia GPU. There must be a bug in the way Resonite detects the GPU on Linux.

Nytra avatar Nov 30 '25 12:11 Nytra