You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The client area of the window intermittently becomes transparent during resize, which causes flickering. See video. Possibly related to #969.
Untitled.mov
I explored some ways to fix the problem, but am uncertain on how to proceed. Any one of the following code changes fixes or strongly reduces flickering:
Enable vsync by removing the call to surface.set_swap_interval in alacritty/src/display/mod.rs
Sleep for 10 ms right after the call to self.surface.resize in alacritty/src/display/mod.rs
Call window_context.draw during WinitEvent::AboutToWait instead of WindowEvent::RedrawRequested in alacritty/src/event.rs
Changing .with_transparent(true) to .with_transparent(false) in alacritty/src/display/window.rs helps a bit, since the window does not become transparent, bit it still flickers, exposing the system window color instead.
I feel like it's a macOS sync issue or something like that. Because the RedrawRequested is essentially a drawRect during resize, well, more or less, so if it flickers it could be some sync issue on apple side?
And with e.g. AboutToWait it's when events are cleared, thus it likely stretches the content because the resize is not issued at the drawRect, but then we submit the right buffer so it looks ok-ish.
The client area of the window intermittently becomes transparent during resize, which causes flickering. See video. Possibly related to #969.
Untitled.mov
I explored some ways to fix the problem, but am uncertain on how to proceed. Any one of the following code changes fixes or strongly reduces flickering:
surface.set_swap_interval
inalacritty/src/display/mod.rs
self.surface.resize
inalacritty/src/display/mod.rs
window_context.draw
duringWinitEvent::AboutToWait
instead ofWindowEvent::RedrawRequested
inalacritty/src/event.rs
Changing
.with_transparent(true)
to.with_transparent(false)
inalacritty/src/display/window.rs
helps a bit, since the window does not become transparent, bit it still flickers, exposing the system window color instead.System
OS: macOS 14.4.1
Version: alacritty 0.13.2 (bb8ea18), alacritty 0.14.0-dev (d4f2f85)
The text was updated successfully, but these errors were encountered: