I've thought a bit on how to optimise ppFX and it's clear that rendering is consuming most of the performance. Blending is costly (wich can't be changed) but worse it that I render every particle for itself. I push the matrix apply rotation and translation call a glBegin glEnd and pop the Matrix for every particle. But I've no idea how this could be helped... anybody else?