Also Sprites anstatt Partikel zu verwenden würde das ganze eher noch verschlimmern. Sprites werden langsamer gerendert als Partikel.
Und zu behaupten bei Partikel jedes Frame ein vec_dist auszuführen zu müssen ist jawohl ein witz!
Bei deinem Code solltes du außerdem beachten das die Partikel nicht alle im gleichen Frame vec_dist ausführen, sondern bau irgendwo ein random ein so das sich die befehle der einzelnen partikel auf mehrere Frames verteilen.