Looking at that video, you are using hundreds of particles at a time, so no. That would mean you're looping through hundreds of positions each frame and drawing each one. I'd recommend using the built in particle system, benchmarking it, then try the ds_list option and see which one is better just in case I'm wrong.