You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows 10, Vulkan, Intel® Core™ i7-8700K, Nvidia GTX 1080 (471.11)
Issue description
When using CharacterBody3D, certain arrangements of concave colliders can result in severe performance drops. I do not have a consistent example of what arrangements specifically cause the performance dips, but I have included minimum reproduction project demonstrating it.
I have artificially increased the project's FPS to 240 since there is so little else going on in this scene for the performance dip to be noticable. You can set it back to 60 FPS though. This was also tested on the debug build, not release_debug, so compiling with optimisation will likely mitigate this, but discussions have prior does indiciate that this is likely legitimate bug in how the physics engine is processing things.
Steps to reproduce
Simply open the example project, and use the WSAD keys to walk forward into the corner. You can use either a C++ profiler or Godot's own profiling tools to observe just how much of the frame gets spent processing physics when walking into this corner. This has so far only been tested with a debug symbols build. I have also included the .blend file for this scene.
I haven't investigated the exact cause of the performance issue within the physics system, but as a workaround it seems that increasing the collision safe margin on the character helps. You can set it to something like 0.05 and the fps doesn't drop anymore. It's a little margin on collision detection, so increasing it makes things slightly less accurate, but it will be probably not noticeable.
With the default value which is very low, it might cause the system to do extra collision tests each frame which lead to the drop in performance. That still needs to be investigated.
I tested it again and didn't notice the same perf drops. There were issues with stuttering and the capsule being pushed down, but the perf at least doesn't seem to be an issue in this specific case at least so I'll close this.
Godot version
14cc1df
System information
Windows 10, Vulkan, Intel® Core™ i7-8700K, Nvidia GTX 1080 (471.11)
Issue description
When using CharacterBody3D, certain arrangements of concave colliders can result in severe performance drops. I do not have a consistent example of what arrangements specifically cause the performance dips, but I have included minimum reproduction project demonstrating it.
I have artificially increased the project's FPS to 240 since there is so little else going on in this scene for the performance dip to be noticable. You can set it back to 60 FPS though. This was also tested on the debug build, not release_debug, so compiling with optimisation will likely mitigate this, but discussions have prior does indiciate that this is likely legitimate bug in how the physics engine is processing things.
Steps to reproduce
Simply open the example project, and use the WSAD keys to walk forward into the corner. You can use either a C++ profiler or Godot's own profiling tools to observe just how much of the frame gets spent processing physics when walking into this corner. This has so far only been tested with a debug symbols build. I have also included the .blend file for this scene.
Minimal reproduction project
collision_perf.zip
The text was updated successfully, but these errors were encountered: