My only idea so far isn't too good.
Basically, we draw all the particles to a surface during the loop phase, and then render that surface afterwards.
Basically, we draw all the particles to a surface during the loop phase, and then render that surface afterwards.