The following document is a performance report generated using Unity's Performance Benchmark Reporter. There's 4 test scenes, each one designed to measure performance of a different Obi asset: Obi Cloth, Obi Fluid, Obi Rope and Obi Softbody.
All tests were done using a physics timestep of 0.02, and max physics timestep of 0.1 (allowing up to 5 timesteps/frame). VSync was disabled. Each test scene was run 9 times, with increasing simulation workload. They were left to run for 100 frames (or until the maximum amount of particles had spawned, in Obi Fluid's case), then performance was measured for 500 frames. The tests measure milliseconds/frame including both simulation and rendering, to be as close as possible to a production environment. All measurements were done in standalone builds, as running in-editor incurs additional performance costs. This is what each scene looks like:
All tests were run on the same CPU (4-core Intel Xeon with hyperthreading), for more details click on the Show Test Configuration button below:
    |
Test Name:ObiPerformanceTests_Cloth |
Test Name:ObiPerformanceTests_Fluid |
Test Name:ObiPerformanceTests_Rope |
Test Name:ObiPerformanceTests_Softbody |
These conclusions use the median ms/frame metric:
Simulating and rendering a moderately complex character with full body cloth simulation (2552 particles / 2818 cloth vertices) takes 1.81 ms/frame (555 FPS). Cost grows sub-linearly with increasing amount of characters on screen, up to 5 characters (4.12 ms/frame, 242 FPS). With more than 5 characters, 3 timesteps per frame are required and performance takes a hit.
Simulating and rendering 3D high quality viscous fluid composed of 2000 particles takes 3.18 ms/frame (314 FPS). Cost grows sub-linearly with increasing amount of particles on screen, up to 4500 particles (4.95 ms/frame, 202 FPS). With more than 4500 particles, 3 timesteps per frame are required and performance takes a hit.
Simulating and rendering 4 high quality, low-stretch 3.5 meter ropes (8-segment sections, 20 particles/meter) takes 2.39 ms/frame (418 FPS). Cost grows sub-linearly with increasing amount of ropes on screen, up to 16 ropes (6.16 ms/frame, 162 FPS). With more than 16 ropes, 2 timesteps per frame are required and performance takes a hit.
Simulating and rendering 1 high quality softbody (722 particles / 33500 vertices) takes 2.19 ms/frame (456 FPS). Cost grows sub-linearly with increasing amount of softbodies on screen, up to 9 softbodies (4.43 ms/frame, 225 FPS). No more than 1 timestep per frame was needed in any of the tests.