In the case where this problem occurs, it seems that the loop counter is erroneously reset when the process in the red frame is called, leading to an infinite loop of the for statement.
This faulty event will occur if left unattended for several minutes.
To reproduce this problem, I would increase the speed of particleMaxSpeed by a factor of 10 and it will reproduce in a few seconds.
//var particleMaxSpeed = 0.5; //distance per frame
var particleMaxSpeed = 0.5 * 10; //distance per frame
I just read the code of this PG. I can’t remember to have coded this. I guess it’s not mine and I have no idea about what it does actually (I just did the examples in the SPS internal doc).
As the SPS is physics agnostic, I think this PG’s bug is related to this PG’s physics behavior specifically.