Treat unready Wayland windows as focused#8953
Treat unready Wayland windows as focused#8953geieredgar wants to merge 2 commits intobevyengine:mainfrom
Conversation
|
This does fix the long startup time when building bevy with wayland but after some testing #7974 does not seem to be wayland exclusive...the long startup time can be observed on x11 (xwayland) too |
| ); | ||
|
|
||
| #[cfg(not(feature = "wayland"))] | ||
| window.internal.set_ready(); |
There was a problem hiding this comment.
Removing this line seems to fix wayland as well as x11 (xwayland)
There was a problem hiding this comment.
Simply removing this line would be incorrect, because then the windows would always be considered focused. If we can reassure that Winit will always send a WindowEvent::Focused(true) event after creating the window, we could replace feature = "wayland with any(feature = "wayland", feature = "x11").
However, I couldn't reproduce the long startup time bug using x11 on my machine (XWayland Version 23.1.2).
There was a problem hiding this comment.
Ic
I am using the same xwayland version and I can reproduce the long startup time on sway (version 1.8.1)
There was a problem hiding this comment.
Ok, I could also reproduce the issue when using X11 through XWayland on Sway. but not when using X11 through XWayland on Gnome.
I tried out treating X11 the same as Wayland and tested X11 on
- Gnome (Xorg)
- Gnome (Wayland) using XWayland
- Sway using XWayland
The long startup time was fixed in all three cases, but Sway showed a small delay (around 1 second) which I believe had to do with the fact that I have an Nvidia GPU and had to use the --unsupported-gpu option. It would be nice if you could confirm that there is no issue using X11 on Sway with the latest commit.
There was a problem hiding this comment.
Thanks for looking into this! With the latest commit running a xwayland bevy app has no startup delay.
The long startup time was fixed in all three cases, but Sway showed a small delay (around 1 second) which I believe had to do with the fact that I have an Nvidia GPU and had to use the --unsupported-gpu option. It would be nice if you could confirm that there is no issue using X11 on Sway with the latest commit.
I don't think this is a Nvidia GPU problem. I have an AMD GPU and experience around 4 sec startup delay with a native wayland bevy app. This delay does not exist on xwayland bevy for me.
Objective
WinitSettings.unfocused_modeis set toUpdateMode::Reactive#7974.Solution
readyfield toInternalWindowStateto distinguish between ready and unready windows.WindowEvent::Focusedevents for unready windows, which keeps Wayland windows to be considered as focused.WinitSettings.unfocused_modeis set toUpdateMode::Reactive#7974 (comment).Changelog
set_readyandis_readymethods toInternalWindowState.