Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Solver is too performance heavy
#1
Pregunta 
I have a single medium length ObiRope with ~35 attachments, that costs around 22 FPS, but hole pure rope somehow costs around ~38 FPS, so the hole solver with single rope uses ~60 FPS, that is too much.
TimeStep in project is 0.015f, I've played a bit with ObiSolver values but it didn't help at all. If I set all solver's constraints to 1 and parallel it gives only ~12 fps.


Attached Files Thumbnail(s)
           
Reply
#2
(27-05-2025, 03:53 PM)quent_1982 Wrote: I have a single medium length ObiRope with ~35 attachments, that costs around 22 FPS, but hole pure rope somehow costs around ~38 FPS, so the hole solver with single rope uses ~60 FPS, that is too much.
TimeStep in project is 0.015f, I've played a bit with ObiSolver values but it didn't help at all. If I set all solver's constraints to 1 and parallel it gives only ~12 fps.

These FPS numbers are not normal. They suggest that either the Burst compiler is disabled, or the jobs debugger is enabled. You must enable Burst and disable the debugger for normal performance inside the editor, as explained in the manual:

https://obi.virtualmethodstudio.com/manu...kends.html

Also keep in mind that Synchronous Fixed mode is very costly, and it may trigger death spiralling if combined with a small timestep. Try switching to Synchronous, if performance suddenly improves then consider adjusting your project’s max allowed timestep.

Kind regards
Reply
#3
(27-05-2025, 07:19 PM)josemendez Wrote: These FPS numbers are not normal. They suggest that either the Burst compiler is disabled, or the jobs debugger is enabled. You must enable Burst and disable the debugger for normal performance inside the editor, as explained in the manual:

https://obi.virtualmethodstudio.com/manu...kends.html

Also keep in mind that Synchronous Fixed mode is very costly, and it may trigger death spiralling if combined with a small timestep. Try switching to Synchronous, if performance suddenly improves then consider adjusting your project’s max allowed timestep.

Kind regards

Hello, thanks for reply!

I've noticed that Unity enable Burst's Safety Checks, Jobs Debugger and Leak Detection every time I want to relaunch Unity Editor, so disable it all back gives much better result.
But still in async. mode 1 solver (I've changed it a bit so I've attached several screenshots) with same rope costs ~40 FPS, inside of Profiler FixedUpdate not call more than once per frame so Time settings is set good and I really do not want to change Time because of project size.


Attached Files Thumbnail(s)
       
Reply
#4
(28-05-2025, 11:10 AM)quent_1982 Wrote: Hello, thanks for reply!

I've noticed that Unity enable Burst's Safety Checks, Jobs Debugger and Leak Detection every time I want to relaunch Unity Editor, so disable it all back gives much better result.
But still in async. mode 1 solver (I've changed it a bit so I've attached several screenshots) with same rope costs ~40 FPS, inside of Profiler FixedUpdate not call more than once per frame so Time settings is set good and I really do not want to change Time because of project size.

Still not normal to get 40 FPS. Most cases with a single rope would yield +200 FPS on a regular computer. Would it be possible for you to use the profiler to export a profiling session that we can take a look at?

kind regards,
Reply
#5
(Yesterday, 07:17 AM)josemendez Wrote: Still not normal to get 40 FPS. Most cases with a single rope would yield +200 FPS on a regular computer. Would it be possible for you to use the profiler to export a profiling session that we can take a look at?

kind regards,

Hello, just wanted to check if you've had a chance to take a look at the performance test project I sent over yesterday.

Let me know if you have any feedback or need anything else from me, kind regards.
Reply