godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.73k stars 20.12k forks source link

Windows ARM64 version of Godot 4.3 RC1 breaks UI scaling when resizing windows in GL Compatibility / ANGLE #94951

Closed bogdanbabos closed 1 month ago

bogdanbabos commented 1 month ago

Tested versions

System information

Windows 11 ARM64, Snapdragon X Elite with 15.6" OLED with 2880 x 1620

Issue description

Resizing project selection window and or any window from this page breaks UI. Sometimes the UI will refresh and fix itself but sometimes it will not. image image image

Steps to reproduce

  1. Start Godot 4.3 RC1 ARM64 official [e343dbbcc]
  2. On project selection screen, resize the window by dragging any of the corners of the window and let go.
  3. Click on Settings and then resize the window from any corner.
  4. Click on Import and then just as above, resize the window from any corner of the window and let go.

Minimal reproduction project (MRP)

None required.

akien-mga commented 1 month ago

CC @bruvzg

@bogdanbabos Do you have the same problem if you create a project using the Forward+ or Mobile rendering method and edit it? The project manager uses OpenGL by default (ANGLE on Windows ARM64), while Forward+/Mobile projects will use D3D12. It would be interesting to see if that behaves differently.

bogdanbabos commented 1 month ago

CC @bruvzg

@bogdanbabos Do you have the same problem if you create a project using the Forward+ or Mobile rendering method and edit it? The project manager uses OpenGL by default (ANGLE on Windows ARM64), while Forward+/Mobile projects will use D3D12. It would be interesting to see if that behaves differently.

I'm not sure I understand, because the issue happens before the editing of the project. When I'm in the project editing, coding etc... it does not happen. It only happens on the project selection screen. I created a Forward+ and a Mobile project and I still get the same issue on the project selection screen.

akien-mga commented 1 month ago

What I mean is that the project selection screen (project manager) uses a different rendering method, which is the one that's broken. So you confirmed already that the Forward+/Mobile projects are not affected. If you create a Compatibility project, it might be affected like the project manager.

bogdanbabos commented 1 month ago

What I mean is that the project selection screen (project manager) uses a different rendering method, which is the one that's broken. So you confirmed already that the Forward+/Mobile projects are not affected. If you create a Compatibility project, it might be affected like the project manager.

You are correct, that does happen in a Compatibility project.

bogdanbabos commented 1 month ago

@akien-mga would it also be possible to respect Windows 11 scaling settings? Should I open a new issue for that?

adamscott commented 1 month ago

@akien-mga would it also be possible to respect Windows 11 scaling settings? Should I open a new issue for that?

But it does respect it normally. Weird.

bruvzg commented 1 month ago

But it does respect it normally. Weird.

On Windows, it's currently taking into account both primary screen dimensions and DPI scaling, so scaling might be overridden on small displays. But you can always manually set editor scale in the settings.

https://github.com/godotengine/godot/blob/3e0c10d3931afb62a30f26532a9f7709ee68bf2c/editor/editor_settings.cpp#L1580-L1593

bogdanbabos commented 1 month ago

But it does respect it normally. Weird.

On Windows, it's currently taking into account both primary screen dimensions and DPI scaling, so scaling might be overridden on small displays. But you can always manually set editor scale in the settings.

https://github.com/godotengine/godot/blob/3e0c10d3931afb62a30f26532a9f7709ee68bf2c/editor/editor_settings.cpp#L1580-L1593

It looks like that's what's happening to me. Since I'm running Godot on a 15.6" laptop screen with 2880 x 1620 resolution even though my Windows display scaling is set to 150%.

bruvzg commented 1 month ago

I can reproduce it on Snapdragon X but not Snapdragon 8xx.

Fixed by #94428