emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Change to NS drawing routines


From: Alan Third
Subject: Re: Change to NS drawing routines
Date: Wed, 15 Aug 2018 21:42:27 +0100
User-agent: Mutt/1.10.0 (2018-05-17)

On Wed, Aug 15, 2018 at 09:20:17PM +0200, Charles A. Roelli wrote:
> 
> By the way, I noticed that one of the problems YAMAMOTO Mitsuharu
> discovered with the current way of drawing is fixed in your branch:
> 
> > Link:               
> > https://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00440.html
> >
> > (Another problem with drawing outside the "expose" handler can be
> > observed with the NS port on Mac OS X 10.6 and earlier: the resize
> > handle at the right bottom corner gets overwritten.)
> 
> It's a small detail, but neat nevertheless.

Ah, nice. My version of macOS doesn’t display that handle, so I was
unaware. Although now I look the rounded corners at the bottom no
longer disappear when the frame is resized. Cool. :)

> I tried M-x benchmark RET (redisplay) RET in master and in
> scratch/ns-drawing, with scratch/ns-drawing often being faster in the
> middle of big files like xdisp.c.  But I don't remember if I messed
> with compiler options recently, so it would be good if somebody else
> could check.

I see a slight improvement too, but it’s really too small to measure.
Expanding on your test above I tried this with benchmark from the top of
xdisp.c:

(dotimes (n 100) (scroll-up) (redisplay))

But now I try it again the improvement I saw has disappeared. If there
is a change in performance it appears to be too small to reliably
measure. Which is, if not good, at least not bad. :)

I’ve just realised this has reintroduced an annoying flicker on resize
(bug#30699) if you run something like:

    (dotimes (n 10)
      (sit-for 0.3)
      (set-frame-width nil (+ n 80)))

-- 
Alan Third



reply via email to

[Prev in Thread] Current Thread [Next in Thread]