29-04-2025, 01:54 AM
(27-04-2025, 10:59 AM)josemendez Wrote: Use Unity’s profiler. It’s the only way to determine why the build is slower. If you need help interpreting profiling data, you can export the profiling session and I’ll be glad to take a look at it.Thank you for the in depth responses. Much appreciated.
Note however that GPU simulation isn’t always faster than CPU simulation. In fact, for relatively small workloads it’s often slower since it has more overhead - data must be copied back and forth between the CPU and the GPU, and individual GPU cores are slower than CPU cores so if your scene doesn’t have good parallelism opportunities, using the GPU is counterproductive. Also, your GPU is often already busy with rendering so depending on how graphically heavy your game is it may not be a good idea to put additional burden on it. See: https://obi.virtualmethodstudio.com/manu...kends.html
All Obi does is move mesh vertices around. It doesn’t modify textures, shaders, materials or quality settings. Not sure why textures would be lower quality on your build, to be honest.
If you’re using Obi’s asynchronous solver mode, keep in mind this causes a 1-frame delay between simulation and rendering. I’d try synchronous or synchronous fixed instead (synchronous fixed is the equivalent to Obi 6’s ObiFixedUpdater). The manual has an in-depth explanation of all synchronization modes and how they relate to Unity’s physics update loop:
https://obi.virtualmethodstudio.com/manu...eloop.html