godot: Glitchy/unresponsive UI when resizing the window

Godot version

v3.5.beta.3.official

System information

macOS BigSur (11.16.2) - OpenGL ES 2.0 Renderer: Intel Iris Pro OpenGL Engine

Issue description

When resizing the window, everything gets glitchy/unresponsive.

Here’s a video showing first 3.5.beta3 and then 3.4.4 (which works fine).

If it may be relevant, I was using @Wcubed’s HFlowContainer, but now I’ve switched to the official HFlowContainer on 3.5. The issue is present using any of them.

https://user-images.githubusercontent.com/481475/161091200-8bfa772e-fbc4-4b19-8526-c10ba5faa2c2.mp4

Steps to reproduce

Open the project, run it and resize the window.

Minimal reproduction project

You can use the Lospec Palette List (develop branch to test 3.5.beta.3 and 1.x branch to test 3.4.4) as reference, which is what I show in the video.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 29 (13 by maintainers)

Most upvoted comments

Ok, so I’ve compiled Godot 3.x branch reverting this particular commit https://github.com/godotengine/godot/commit/f997a5f8f6e51db47ca6ecfc11923847ed464094 and it seems like this is what is causing the issue.

Custom compile (3.x without the commit)

https://user-images.githubusercontent.com/481475/161532688-e891caba-49b0-4092-aaf1-3d935ccf7831.mp4

3.5.beta.3

https://user-images.githubusercontent.com/481475/161532716-52421a1b-a30d-4096-b466-1afd70f50b5d.mp4

I think we can safely say there’s a big different between the two, right? I admit that sometimes there are slightly rendering issues on 3.4.4, but they are negligible. I actually never noticed them until now, with all these tests, hehe!

Fixed by #61895.

I assume the fix needs to be forward ported to master too?

For me, it’s hard to reproduce, but I think I have found what’s wrong, will try to fix it in a moment.

While I can reproduce it, when resizing window fast, the same happens in 3.4.4 and any older version I have tested (at least up to 3.0). I can’t see any difference.

It probably will need implementing a custom backing layer, and changing the way main loop works to fix it (it’s a lot of changes, so probably unfeasible for 3.x).