By my count there’s 560 dynamic bodies in that document, which is a lot. Unfortunately the performance for physics scales exponentially because each body needs to calculate if it is colliding with each other body (to over-simplify things).
One thing to note is that we typically err on the accuracy side for physics. We’ll try to catch up to real time by doing the physics calculations but not rendering for up to 20 steps a cycle if we’re behind - in other words with Physics we may sacrifice the frame rate.
Generally when we were experimenting, we used 50-100 bodies for our upper bound, which worked pretty well. Here’s one of our standard documents, which you’ll find works well on desktop browsers but suffers a bit on mobile:
There’s no specific limits, it is entirely dependent on performance of the hardware/browser.
There’s no simple switches you can do unfortunately.
I haven’t done specific tests myself, but I suspect this would lead to worse performance. The pasted images are rectangular physics bodies which only have 4 vertexes. An Ellipse would have a higher number of vertices to simulate its roundness, so that means more calculations per cycle.
(That said there’s gonna be some browser rendering time in there too, and an image probably requires more general browser effort, but I’d guess 99% of the time is on physics).
I’d agree with this; depending on your particle effect the Physics engine might not be right for you and you’d be better off using a particle engine than phsyics engine.