Subject: bug#30699: 26.0.91; buffer contents flicker on macOS frames when frames are resized

From: Alan Third <[email-masked]>
Date: Mon, 5 Mar 2018 19:23:31 +0000

On Mon, Mar 05, 2018 at 08:00:07PM +0200, Eli Zaretskii wrote:
> > From: Aaron Jensen <[email-masked]>
> > Date: Mon, 5 Mar 2018 08:21:45 -0800
> > Cc: Alan Third <[email-masked]>, [email-masked]
> > 
> > > AFAIK, no.  Redrawing a garbaged frame involves clearing it and
> > > completely redrawing all of its windows, and that is what you perceive
> > > as flicker.
> > 
> > Thanks, I was thinking about double buffering--painting both the clear
> > and the next paint on the same buffer before swapping it in, but I'm
> > sure that's much more simplistic than what is actually happening.
> 
> We already have double-buffering on X, perhaps it can be implemented
> on macOS as well.

We could do something similar using NSDisableScreenUpdates and
NSEnableScreenUpdates:

https://developer.apple.com/documentation/appkit/1473676-nsdisablescreenupdates?language=objc

We should be able to wrap it round redisplay. Where would that be
done?
-- 
Alan Third