Game Development Community

Particle emitters giving a permanent drop in frame rate

by Anthony Hughes · in Technical Issues · 03/22/2006 (8:43 am) · 8 replies

I have an island which has a number of particle emitters used to create waterfalls. When the character spawns on the island and I walk to the area with the emitters, the frame rate drops down as I would expect. The problem is that the frame rate never recovers again to its original levels when I walk back to the spawn point.

I've just run a quick test and I get 24 fps at the spawn point. When I walk to the emitter area that drops down to 10. If I walk back to the spawn point, the frame rate never goes above 14 fps. Its as though as soon as I've seen the emitters, they are always active and consuming CPU time even though the camera is no longer pointing at them.

Does anyone have any clues what might be going on?

#1
03/22/2006 (8:47 am)
How many emmiters are in the same area?

How many are seen at once?

How many particles are each emitter spitting out?

How large is the texture you are using for the particles?

Screen shot?

Whats your max draw distance?

Whats your distance fog set at?

Is there anything between the "spwan" and the "emmiters" that would block view?
#2
03/22/2006 (8:51 am)
Holy crap....

From your other post about your plans .... (no need to dubble post)

"I'm working on a project where particle emitters are used for waterfalls, rapids and streams. At the last count, there are 78 particle emitters being used in total across the island. In some areas up to 15 can be seen at any one time and this cripples the frame rate. I need to remove a lot of the emitters to get the frame rate up but how many is too many on screen at once? Minimum spec is around 1GHz and a 32MB graphics card.

are you still using THIS MANY?
#3
03/22/2006 (9:21 am)
How many emmiters are in the same area?
Up to 15.

How many are seen at once?
Up to 15!

How many particles are each emitter spitting out?
1000 per sec.

How large is the texture you are using for the particles?
32x32

Screen shot?
I'll try and sort one out.

Whats your max draw distance?
Whats your distance fog set at?
Not sure about these two - how can I find out?

Is there anything between the "spwan" and the "emmiters" that would block view?
Yes, mountains and hills and they completely block the visibility of the emitters.

The Torque part of the project has actually been outsourced to an external company before I get flamed for being stupid! I'm just collating evidence on how to fix the problems.

The main question is, why do I get a permanent drop in frame rate after going near the emitters? Even if we cut out most of the emitters will this permanent drop still occur?
#4
03/22/2006 (9:27 am)
Wow, 15,000 *new* particles per second.
might want to rethink that..
#5
03/22/2006 (9:40 am)
TGE's particle systems aren't particularly efficient to start with, and rendering that many particles is not something you can hope to do with old fashioned particle systems. There's more recent tech using shaders to render tonnes of particles, but that does you no good for the minimum spec you're looking for. You can make some pretty good water effects using scrolling UV coordinates on mesh objects, especially if you layer it. Then just have some lesser particle systems for support effects. The first Price of Persia: Sands of Time game had some _excellent_ examples of this with it's waterfalls.
#6
03/22/2006 (9:43 am)
I dont think anyone was going to call you stupid.

I think, you realy need to rethink this dependicany on that many particle emmiters. The way you have them curently set up is is what is causing your issues.. I cant explane your direct answer. But i can say that just to many particles, comming from too many emmiters at once. Like orion said... you need to rethink that.

I dont think its nessarly the number of emmiters, but the amout of particles.

And im not sure once a emitter is fired off, that the terrain blocks them. Me and orion were doing some tests about this.. not sure. I do know, once they are seen they are loaded, forever.. The texture get thrown up into mem ETC..

Why so many? what are you using them for exicatly?

Can we see a screen shot?

If i can see what you going for i may beable to point you in the direction of other solutions to acheave the same look (or close).

your draw distance and fog distance are set in the world editor in the inspector window, under SKY (IIRCC).
#7
03/22/2006 (11:28 am)
Yikes, 1000 particles per second! No wonder why your performance is being affected thats a hefty hit. Definately try emitting a lot less, you'll have to play with this to get it right, but start with say 100 (or even less) and make sure that all the particles face the user (ie. are billboarded). With a bit of time and effort you can almost always get the same effect and not really lose anything with regards to visuals.

You should also look into increasing the emission time of the particles, but once again this is another one of those tweaking things.
#8
03/22/2006 (12:09 pm)
Anthony I've also experienced a permanent drop in fps when dynamically creating a stream of projectile objects. I was using the standard projectile object (crossbow) which has an associated particle property. as more and more projectiles are created, my fps would slowly start to drop and even when I stop the stream and there are no more projectile or particle streams in the scene, for some reason the fps would remain at that value. I even tried removing the projectile objects by .delet()-ing them but it still made no difference. this was running on low-end hardware and caused me to rethink my strategy.