R
robproctor83
Guest
Greetings friends, I am trying to implement an efficient slow motion particle system. The best method I have found to get delta timing to work is to stop the automatic update of the particle systems and then using an alarm with delta timing I manually update the systems forward one step. To get fluid motion the update function is called quite a lot. Unfortunately this creates a lot of processing it seems as the profiler reports the particle system to be about 3 times as long to process than everything else.
Recently I took a stab at trying to roll my own particle system, sadly it didn't turn out too god. To produce a similar number of particles on the screen as the normal systems my custom object emitter only performed about a third as good. Changing it so that the all the particles in a single system are drawn all at once from a ds_list rather than individual objects didn't do much better, it performed about 1/2 as effecient.
Is there any other possibilities? My working solution is okay enough, I can get around 300 to 500 fps with a dozen or two active particles, but that's on a good computer. I was thinking maybe a shader, but I wouldn't know were to even begin, or even if it's possible. Any other thoughts on how I could go about optimizing?
Recently I took a stab at trying to roll my own particle system, sadly it didn't turn out too god. To produce a similar number of particles on the screen as the normal systems my custom object emitter only performed about a third as good. Changing it so that the all the particles in a single system are drawn all at once from a ds_list rather than individual objects didn't do much better, it performed about 1/2 as effecient.
Is there any other possibilities? My working solution is okay enough, I can get around 300 to 500 fps with a dozen or two active particles, but that's on a good computer. I was thinking maybe a shader, but I wouldn't know were to even begin, or even if it's possible. Any other thoughts on how I could go about optimizing?