main loop optimizations, particle count pushed to 1 million