GNU bug report logs - #30699
26.0.91; buffer contents flicker on macOS frames when frames are resized

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Sun, 4 Mar 2018 17:39:01 UTC

Severity: normal

Tags: fixed

Found in version 26.0.91

Fixed in version 27.1

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Alan Third <alan <at> idiocy.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 30699 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: bug#30699: 26.0.91; buffer contents flicker on macOS frames when frames are resized
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 <aaronjensen <at> gmail.com>
> > Date: Mon, 5 Mar 2018 08:21:45 -0800
> > Cc: Alan Third <alan <at> idiocy.org>, 30699 <at> debbugs.gnu.org
> > 
> > > 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




This bug report was last modified 7 years and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.