Shuriken particles - strange load CPU with ParticleSystem.Update

I’m creating about 100 of shuriken particle systems (with max particles 10 each). Then I disable all of them (renderer.enabled = false), stopping them (.Stop() or .Pause()). Even setting emitterEnabled = false.

But even after this I loose all my CPU power on ParticleSystem.Update process. My FPS on iPad dropped from 40 to 7. ParticleSystem.Update() takes all my time.

What’s wrong with this?

PS: prewarm is off

1 Like

I couldn’t solve this issue and re-wrote particles from shuriken to legacy. And everything worked fine! 0% CPU load.

My assumption is that shuriken particles (even if I stop them) always check all particle systems for the dead status and that’s the reason it takes lots of CPU power. And I didn’t find the way to shut it down.

Btw, CPU load when running on PC was veeery low. But on iPad ParticleSystem.Update() took a huge part of the load. Maybe the ParticleSystem.Update process is also poorly optimized for iOS?

This has just bitten me too.

They use CPU whether starting inactive, paused, disabled ,stopped, Its only a problem in iOS devices where i’ve just found my particle CPU accounts for 11ms on the 4S! this is higher than everything else in the scene combined.

The only way i’ve found to halt the cpu usage is to disable the game object, even then, just having them in the scene still accounts for 1-2ms ( 4S ) spent in ParticleSystem.Update even though they’re not active! of course this is way higher on earlier devices.

Going back to legacy particles seems the only way to fix this properly.

Bug report it guys :slight_smile: I know you’re busy and its a pain in the arse and unity should get it’s sh*t together on this this, but things do fall through the cracks and you will be helping us all in the long run- so thanks in advance if you do submit a bug report on it.

It would also help if the bug reporter tool actually worked (it doesn’t for me, so I gave up trying to report bugs, and just post them on the beta group). But it might work for you. In any case, hoping the unity guys spot your posts, so friendly bumping.

I sent off a report, hopefully they can figure it out!
Pete.

tHIS is very old, but it seems to describe my problem. I have a Unity 5.5 Shuriken partcle system that generates fire retardent for planes. It works fine at first, but after the particles start dying they bonk the framerate and the profiler shows it’s in Script… what’s up?

Same comment as above, same problem, seems to be related, does unity fix it’s own bugs n’ stuff at all?