(22-04-2020, 12:03 PM)josemendez Wrote: If this is theory is correct, using multiple Updaters won't have any positive impact. The only solution would be to use a single solver, then. Can you try the multiple updaters route, just to make sure?
Can confirm. One updater per solver does not help performance at all.
Looks like I'll have to put all ropes under one solver, but then I'm forced to simulate all ropes at the same time.
My current trick for performance was to just disable the solver when the rope physics wasn't needed but the rendering was.
It doesn't seem like there is any other way to stop the simulation of a single rope while keeping the rendering (of the ObiExtruder) - is there?
Otherwise I guess I have to bake the mesh of all the different states my rope ends up in - which i really don't want to...
[EDIT]
Just tested with all ropes under one solver. Performance for ~430 particles (including Pooled so dunno what total simulated is) is at 40 frames.
Individually disabling the ropes' gameobject (in build) brings it back to ~65 frames for the two pairs I did the earlier tests on, but it looks like there is some performance lost by just disabling the ropes - like the solver is still iterating over ropes on disabled gameobjects. Is that correct?