http://www.bfilipek.com/2014/04/flexible-particle-system-start.html
I implemented this system over the weekend in mx1 and I love it. It’s flexible, I can render around 100k particles @60fps on my Macbook. Each particle has a handful of behaviors (chaning color, bouncing off the floor, etc.).
I think using mx2 you could even increase performance as the bottleneck is not rendering (I can render 500k colored point particles in 3ms). The update loop is what’s taking too long after ~200k for me.
PS:
This article kind of changed my way of thinking about game programming a bit. The importance of cache and data locality can’t be underestimated. Just preallocating huge arrays SoA style is not something I learned at university.