[sldev] Reviewing/Fixing the Particle System
Argent Stonecutter
secret.argent at gmail.com
Wed May 23 12:52:18 PDT 2007
> The problem is that those leaks I saw were not the source of the
> problem. They just lost memory but, as far as I can tell, were
> removed from the list of active emitters. In fact I'm running with
> that fix now and the particle system still fills up to the brim.
>
> The problems I'm seeing from source and debugging is, that:
>
> 1) the system generates excess amounts of particle sources with
> lifetime 0 that I can see no actually source for (I mean 200 high
> frequency emitters should be visible somehow?)
Given that the problem builds up after teleport and region crossing,
is it possible that the region of the generators are not being taken
into account to determine when particle systems should be removed?
> 2) many of these systems generate progressive particles, meaning
> they generate more particles than particles die ... e.g. creating
> 200 particles per second (pps) with a particle lifetime of 2
> seconds meaning that when the first wave has died two times the
> amount have been generated, etc. I've seen situations with over
> hundred of those active.
I'm not sure I understand. If the emitter generates 200 particles a
second with a lifetime of two seconds, then after 1 second there will
be 200, after 2 seconds there will be 400, after 3 seconds there will
be 400, and there will never be more than 400. I'm not sure I
understand what you mean by "progressive" here.
100-200 pps is not an unreasonably high emission rate.
Consider the contrails on my plane: the plane can move up to 30m/s,
and the contrail particles are 0.5m to start with and need to be
overlapped to create a "continuum", so I have to generate a minimum
of 120 particles per second assuming *no* competition just to keep
the contrails looking "solid", even with no "burst" effect.
I don't think the problem is that it's not aggressive enough about
pruning particle systems, I think the problem is that particle
emitters are left running for objects that are not in sight.
More information about the SLDev
mailing list