Particle manager performance

How many particles per manager?

Yeah particles kill the performance.



I have 5 jet effects



a total of 300 triangles and I only get 120 FPS on my laptop



which is a 1.6 centrino with 768 MB of RAM, and the Intel built in graphics card.



On my desktop

which is a 3.2 p4 with a gig of ddr400 in dual channel and an ATIx800xt



I only get 600 FPS.

My profiler info with ONE manager, with 300 particles.

http://www.extorris.com/demo/jmeExtorris01/jmeExtorris01Performance.html





But with everything running I have like 10.000 vertices.



I have a Barton 3200+, 1.3 GB DDR ram 2100, Gforce 6800



I can barely get 400 FPS with 4 managers * 300 particles

You certainly use a lot of particles… even for the explosions in FurBallz I only need about 60 particles.

yeah I suppose so :slight_smile:





Its just a copy from the jme particle editor. I suppose I can lower the amount. But I never thought that 1200 particles would be much. And the effects look the best with alot of particles

yeah … I wonder how they do it in real games cause those always seem to have tons of particles going all over the place.

Also, what did you use to profile? Many profilers are just not valid when it comes to percent time spent… they add too much overhead to tracking and many calls starts to equals most of the time spent. For example, on my lowly P4 2GHz machine I can bump up TestParticleSystem to 1,500 particles and still get 1200 FPS.

At 750 particles I get about 2400 FPS



1500 particles I get 2000 FPS.



At 3000 particles I get 300 FPS



To bad it doesn’t scale linearly though hehe.

I used a eclipse plugin profiler.





Eclipse Profiler Plugin



If you look at the stats I posted you see it simply counts the calls to each package and does the percentage by that.



I can run 5000 particles at 400 FPS. So thats why I thought I might be doing something wrong.

I think the majority of the speed hit is the blending for transparency. You can see your frame rate gets much worse the closer you get. Fillrate issues. At least this is my experience, but I have a much older card than you guys have.



Turn off transparency and see what your framerates are. I know this will make it ugly, but it might give a better information.

removed blending, textures and depth buffer test. It did squat :frowning:

Then it’s not fillrate… which is actually good. I.e. in my case, it’s fillrate, so it’s hard to optimize in our code.

Good thought mojo… Actually there are a few new rough edges I can shave off, but they are related to the scene graph rotations which wouldn’t trigger on the demos since they don’t rotate. I’ll see what else I can do.

What you cant mindread and fix my buggy code… daamn what kind of admins are you anyway.





Aaah well I’ll guess i’ll test some more and be back with an answer (if I can)

Whoa … someone fix my code while you’re at it hehe :wink:

:stuck_out_tongue:

Oh, a lot of the calls in Particles use trig functions, have you tried setting FastMath.USE_FAST_TRIG = true;

cool … that’s like an extra 150-200 FPS

Can you give me a new html performance sheet with that turned on?

middy was the one that put up the performance sheet. I’m installing the profiler now though and I’ll put up both (before and after) once I get it working.