(22-10-2021, 10:34 AM)lacasrac Wrote: In *debug* mode I get a massive 17 FPS
If by *debug* mode you mean a debug build, that's not surprising at all: debug builds are extremely slow compared to release builds. They contain a lot of extra debug data, and skip code optimizations. This is the case not only in Unity, but in any engine/IDE. Never ever measure performance in debug mode.
(22-10-2021, 10:34 AM)lacasrac Wrote: If I have 5 solvers with 1 ropes -> basically 5 ropes with 5 solvers invidiudally that is good or bad for performance?
It will be better 1 solvers with 5 ropes?
The amount of solvers and/or ropes has
zero impact on performance. However, the amount of particles in each solver and your solver settings do.
When you add ropes (or any actor, for that matter) to a solver, all of its particles/constraints are "thrown in a bag", together with other rope's particles/constraints. The engine does not care if they came from only 1 rope or 10 ropes. Internally, the engine does not even know what a rope is. Then, particles and constraints from
all solvers are updated in parallel. It does not matter if there's 2, 3 or 10 solvers, and does not matter if there's 1 or 100 ropes in each.
It does matter if a solver is set to perform many constraint iterations, or if ropes have 500 particles each instead of 50.
Things you can do to improve performance:
- Use as few substeps/constraint iterations as you can. Disable any constraints you're not using. You'll find substeps setting in the ObiFixedUpdater, and constraint settings in the ObiSolver. See:
http://obi.virtualmethodstudio.com/manua...aters.html
http://obi.virtualmethodstudio.com/manua...olver.html
The manual contains a pretty in-depth explanation about how the engine works and how substeps/iterations affect it, I'd also recommend reading it:http://obi.virtualmethodstudio.com/manual/6.2/convergence.html
- Use as few particles as you can. This means reducing your rope's blueprint
resolution. See:http://obi.virtualmethodstudio.com/manual/6.2/ropesetup.html
- Use the simplest rendering mode that fits your bill. Use path decimation if possible.
http://obi.virtualmethodstudio.com/manua...modes.html