How many particles is too much?

Hello, Im creating a game and I would like effects created by display.newEmitter.
Im a bit worried that using it too much could impact performance of the game.

Is there some general rule of thumb about how many particles is it “wise” to have on screen at once?
F.e. if I have 10 emitters, each with 300 particles, is it still ok? Can I use even more (under what circumstances)?

Thank you for sharing your experience.

We use our own particle emitter which is decidedly less optimised than Solar2d’s but 3000 particles sounds like quite a lot, especially if this is for a mobile project. I could be way off the mark with my understanding of the particle system’s performance overhead but for our projects, we try to limit to 150-200 particles on screen at any given time.

Are you sure you need all these emitters firing off at once?

Thank you for sharing your experience. Im not sure or unsure of anything, it was only an example on what I ment. Im looking for some performance tips and your experience on emitters like:

  • how much particles is too much
  • what to avoid
  • various tips on the toppic

I know some people use object pooling to reduce the load. I often have hundreds of active particles in my projects without a noticeable slow down. I haven’t tested this limit against newer devices but I imagine it has increased quite a bit. I think the real question is - what is the lowest quality of device you intend to support?

Thank you. Hmm. Good question. I could maybe set number of particles based on device? Like scale it down, switch to sprite animation or even remove some emitters comletely if performance is bad…based on fps or something else (what?).

As for object pooling: do you think it is possible to do in Solar2d?

Object Pooling is possible in Solar2D, and I use it quite often in my games. I had an enhanced Object Pooling Library Plugin on the asset store for a few years (recently removed), and I also have a blog post on how to roll your own.

Could you please redo link to your blog post? It links to wp-admin page…

Thanks for letting me know… I updated the link in my previous post.

Thank you for the post. It is definitely good to know about pooling.

Pooling helps with performance when you create en emitter.
What about running emitters? This was my original question. Are they demanding in terms of performance?

There is no one size fits all or a single rule that can be applied.

I’ve worked with projects that have had thousands of particles created via emitters active at the same time and there was no perceivable impact on performance, but then again, those particles were the “key visual flair of the game”.

It really depends on how you’ve structured the entirety of your game as well as how you utilise said particles. For instance, utilising blend modes with particles makes them surprisingly heavy surprisingly quick. Finally, it’s also a matter of what platforms you are targeting. If you are going after Windows and MacOS, then go nuts. If you are headed to Android, then you’ll need to be careful if you wish to support older lower tier devices, etc.

Thank you, this is good tip. I want to use particles mainly for visuals…fire, smoke, bullet trails etc. I can probably for example replace fire with sprite if I need to.
What should I avoid to keep it light? Are some particles options more demanding than others? F.e. “tangentialAcceleration” vs. “start/finishColorAlpha”?

…it’s also a matter of what platforms you are targeting. If you are going after Windows and MacOS, then go nuts. If you are headed to Android, then you’ll need to be careful if you wish to support older lower tier devices, etc.

Sure, this is yet to be decided. I will probably make different variants based on device power if I find a good way to detect or measure it.

@atanasovskyjiri - you’ve been asking so many interesting forum questions I’m excited to see what you are working on - when you get to a place when you are ready to reveal.

Hey, it is nice to hear someone finds my questions interesting.

I have two projects going on. First one is kids app and the other is physics based game. I should have first one ready in a few months so I will definitely post it in the forum.