the problem is with the low level particle code. my code is rather high level and just says, "make these particles in this shape". really just defines particle generation rather than actual rendering or anything speed related. the underlying particle code is kinda slow, mainly because it focuses on creating a small number of detailed particles instead of a large number of simple particles. i have some theoies on how to increase their speed. one idea is to use hardware pointsprites, another is to offload the generation code to the gpu. i ony have a very rudimentary understanding of opengl, and lack the skill to do either of those things.
on the otherhand the code works well, is reverse compatable, scalable, and when used in moderation can improve the appearance of particle effects.