Huge Performance regression in 3.6 compared to 3.5.3

Godot Version

Godot 3.6 C#

Question

Checking out the new Godot 3.6 release I have noticed a huge performance regression in one specific scenario.

When spawning 6 physics objects off-screen, performing a raycast and moving them very rapidly with MoveAndCollide to a centre point of the camera, setting up connections, drawing some lines in the Draw function and updating some player stats with lists and dictionaries.

This all ran without fps drops very well on 3.5.3 and even with very little player stats to update I get drops down from 60 to 10 fps (on a 14900k).

There is clearly something wrong with 3.6 here but I can’t figure out what exactly it is. I tried switching back the 2d culling to item instead of node but this did not fix it.

Did someone as well encounter these issue? I could not yet see any related reports on github. Any suggestions on how to progress in this case? Maybe there has been a new setting introduced that has weird defaults.

If you really didnt change anything you probably should open a github issue

Thanks for your reply. Yes, I just opened the exact same project in 3.6, where I ran into this performance issue. Going back to 3.5.3 everything is running perfectly again.

Is it recommended opening a github issue even if I currently am not able to pin point the issue exactly? Or shall I wait until I have found the time to investigate further, stripping down code to provide some further details?

I think creating a sample project where you are able to replicate this issue is very helpful

Check when the performance regression started by testing all 3.6 betas, then report back the first beta where the regression started:

Thanks I have tried out the 3.6 betas and the performance issue is already present in the 3.6 beta 1.

I was able to boil this issue down to a performance regression in the Tr() function when updating multiple tooltips.

I have created a MRP and reported it at: Huge performance regression using Tr() when moving project from 3.5.3 to 3.6 (.net) · Issue #98228 · godotengine/godot · GitHub

1 Like