Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  High variance in ObiFixedUpdate performance impact
#1
I've been struggling with optimizing my ropes for quite some time now and tried all of the recommended solutions I've been able to find in the forums.
But for some reason, I can't get the ObiFixedUpdater under control. 

This application is built for Oculus Quest and runs perfectly at 72 frames when no Obi Solvers are enabled (but meshed ropes are rendered).

Using Fixed Updater, 1 substep - no unity physics substep (even though I have a single two-way dynamic attachment).
Fixed and max timestep locked together: 0.02 and 0.06. (both tested results below)
Total Particles: 18
Smoothing: 0
Segment: 4
Unchecked all unnecessary constraints on the solver, and only have 1 iteration on everything (except 2 on parallel collisions).

I should mention I also have a 3 particle antenna (rod) with some smoothing, but that has a negligible performance impact according to my testing. 

I'm getting around 50-60 frames when I activate the rope's solver, but when running the profiler directly on the Oculus Quest I notice a big performance variation.

As you can see below some of the worst cases are around 10-12ms, while others are as low as 3 ms. 


Timestep 0.02 - 11.48ms:
[Image: 11ms.png]
Timestep 0.02 - 3.05ms:
[Image: 3ms.png]

Timestep 0.06 - 9.14ms:
[Image: 0-06-timestep.png]

Timestep 0.06 - 1.44ms:
[Image: 0-06-timestep-low.png]


It doesn't seem like this is the timestep death spiral, or v-sync (which is forced off). 

So my question is simply;
Is this expected behavior? If not, what can I do to improve my performance?
Reply


Messages In This Thread
High variance in ObiFixedUpdate performance impact - by TheMunk - 14-04-2020, 01:27 PM