- Home /
Optimizing the Performance of a Large Particle System
Hey everyone -
I'm working on a data visualization using ParticleSystem. Via script, I am creating between 100,000 and 500,000 particles directly (via ParticleSystem.Particles[]).
Each particle sits atop an invisible GameObject (a sphere) so that the particle can be interactable and clickable.
The particles are rendered with a material which uses a billboard texture. The particles can sometimes vary in size.
Right now my FPS averages around 17, and I'm wondering if there are any obvious / standard performance optimizations I might not be making, since I'm pretty new to Unity - or if there are some special tricks with ParticleSystem to make it a bit more performant.
Answer by stojanovicaca7 · Oct 21, 2020 at 08:20 PM
@KeeganTawa Did you find solution? I'm having similar problem at the moment and can't find useful solution online. It would help if you could share it here. Thanks in advance :),@KeeganTawa Did you find a solution? I'm having a similar problem right now and cant find good answer online. It would help if you could share your experience. Thanks in advance.
Answer by Statement · Oct 21, 2020 at 06:24 PM
Have you tried Particle System GPU Instancing? If your objects are moving around and have colliders, make sure you have a kinematic Rigidbody on them (otherwise Unity will rebake static collision data for the scene over and over and that is costly for the CPU). Does the profiler explicitly say it's the rendering of the particles that is slow?