Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Obi Smulation frame rate issues
#1
Hi,

I'm using Obi to develop a surgical simulation scene, but I'm having some issues with the frame rate. My scene has five objects with a total of 6700 particles, but the simulation frame rate is only 2-3 FPS. At the same time, both CPU and GPU usage are relatively low. 

There's also a strange phenomenon that when I open the Recorder (Recoder asset by Unity), my frame rate increases to 10 FPS. This is quite strange. Could you please let me know if I might have incorrectly set certain parameters, causing my computer's performance to not function properly?

Thanks for your help.

Here is my computer configuration (I think it is a quite good computer):
CPU: Intel Xeon 5220R CPU @ 2.20GHz * 2
GPU: NVIDIA GeForce RTX 4090
RAM: 512GB

Here is the FPS of my simulation:
Without Recoder:
   

With Recoder:
   
Reply
#2
(29-10-2023, 06:11 PM)AfterSilence Wrote: Hi,

I'm using Obi to develop a surgical simulation scene, but I'm having some issues with the frame rate. My scene has five objects with a total of 6700 particles, but the simulation frame rate is only 2-3 FPS. At the same time, both CPU and GPU usage are relatively low. 
Hi,

When any performance problems arise your first stop should always be the profiler: it will tell you exactly what's taking up time, and point you to the solution.

Without any profiling data it's hard to say, but here's my best guess based on what you describe: fps being capped at 2-3 fps suggests death spiraling is taking place, causing physics to be updated multiple times per frame as opposed to just one. Unity's default max timestep is 0.33 seconds, so in the worst case scenario your fps will be 1/0.33 = 3 fps. Reducing the max allowed timestep to a small multiple of the timestep should alleviate this. For instance if your timestep is 0.02, use 0.04 or 0.06 as your max timestep.

However it would be a good thing to get to the root cause of the spiral. Make sure you've followed the basics:
- Have Burst enabled.
- Have the jobs debugger and safety checks disabled

See:
http://obi.virtualmethodstudio.com/manua...etips.html

(29-10-2023, 06:11 PM)AfterSilence Wrote: There's also a strange phenomenon that when I open the Recorder (Recoder asset by Unity), my frame rate increases to 10 FPS. This is quite strange.

This is to be expected given how fixed time stepping works in most engines, including Unity: since video is captured at a fixed framerate - as opposed to realtime rendering which has a variable framerate - physics only needs to be updated once per frame and performance will improve as a result.

let me know if you need further help,

kind regards
Reply