21-04-2020, 05:20 PM
(21-04-2020, 04:05 PM)TheMunk Wrote: Could it be due to dynamic particle attachments? I got some weird results with very high increase in performance which may be connected to me changing all dynamic attachments on a rope to be connected to rigibodies which are kinematic for particles.
[EDIT]
It looks more like its because two solvers are simulated at the same time. I can simulate a 50+ particle rope alone at 72 frames, but as soon as i toggle another rope with just 3 particles I return to the ~50 frames. (This would also explain why I noticed the initial performance increase when I disabled the 3 particle antenna solver).
Is there something with the new obi 5.X and multiple solvers (in the same updater) that doesn't work well together on android?
Internally, each solver spawns multiple tasks that get attended by a task scheduler (thread pool). Each actor is decomposed into a few tasks, but it does not matter if they are all under same solver or separate solvers as the tasks end up being exactly the same. So one solver does the same work as multiple ones, as it all comes down to tasks and a thread pool.
Just to test this, do you see any performance difference if you have the 50 particle rope and the 3 particle rope under the same solver, as opposed to having a solver for each one?