I'm running some performance tests to understand the purpose of running physics in a separate thread. I have a benchmark scene that creates objects non-stop, in addition to that I have a system to measure frames per second.
One of the tests I've done is trying to create a Node where internally in GDScript I do some matrix multiplication to stress the CPU, all while still creating physical objects that collide with each other in 3D space. I have tried running this test with the option to run physics in a separate thread disabled, and then enabled. There is no performance difference between both options.
Another thing I have tried to do is try to stress the rendering process, to do this I have added multiple quite detailed 3D models (but not affected by physics) that move on the screen while I create the objects that do collide with each other. I have also done this test with both options and again the result is the same whether executing the physics in the main thread or in the separate thread.
In short, I would like to understand what the purpose of this option is, what would be the ideal use-case to execute physics in a separate thread? and how can I check it in my benchmark project?