godotengine / godot

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

macOS: editor requires a click to activate the window before accepting any UI interactions #86904

Open tkgalk opened 9 months ago

tkgalk commented 9 months ago

Tested versions

System information

Issue description

In the video attached you can see that when you're Alt-Tabbed to another window Godot editor doesn't receive any input to its UI controls. It requires a click to make the window active, then about 0.5-1s to actually become active, and then requires another click to actually use the UI controls.

For comparison, in the same video, notice how snappy and responsive VS Code is. It also accepts input to its UI controls right away without needing to be the active window.

Managed to confirm the same issue on both my personal and work MacBooks.

Godot (responds to hovers, but not to clicks):

https://github.com/godotengine/godot/assets/3187536/e2a878ac-b895-4a81-a6ed-042175cd170e

Comparison with Unity Editor behaviour (you can see the Unity Editor even responds to hovers without being the active window):

https://github.com/godotengine/godot/assets/3187536/0b12eb95-3d95-403e-b067-d0857f67d5a4

Steps to reproduce

Just install Godot, reproducible on both mono and "normal" editor on fairly empty scene.

Minimal reproduction project (MRP)

Reproducible on an empty, new project.

tkgalk commented 9 months ago

https://github.com/godotengine/godot/issues/78758 <- another issue that mentions poor window behaviour in macOS.

tkgalk commented 9 months ago

Additional video about general poor window performance compared to VS Code (which is an Electron app and doesn't behave even close to native macOS apps anyway). It's hard to see due to video compression, but you can just about notice how it takes longer for Godot's editor to "notice it's being dragged around".

https://github.com/godotengine/godot/assets/3187536/a706c9bf-b156-4bd3-8fa5-c0ae19da71d1

Calinou commented 8 months ago

Can you reproduce this after enabling Update Continuously in the Editor Settings? Note that this setting will cause CPU/GPU utilization to increase.

tkgalk commented 8 months ago

Made things smoother (IMO), but the main issue remains. You still have to click on the editor to make it active before actually being able to receive UI actions (clicking buttons et cetera). Makes multi-monitor/multi-window work very annoying.

bruvzg commented 8 months ago

Are you running a standalone executable (custom build, not packed to .app bundle)? Or running Godot from terminal. If you do pack it to the .app bundle. This is a usual (and unfixable) issue for unbundled apps.

tkgalk commented 8 months ago

I use Godot.app straight from the website, the only thing I did to it is moved it to Applications folder. And it seems to be a native Apple ARM version too.

Also, for completeness:

pkdawson commented 8 months ago

The extra click is also required for switching between windows within Godot, like if you have the script editor in a separate window.

passivestar commented 5 months ago

Additional video about general poor window performance compared to VS Code

This was reported here: https://github.com/godotengine/godot/issues/66684 Still happens in v4.3.dev6