GNU bug report logs - #39790
26.3; Painting text on macOS has becoming unbearably slow

Previous Next

Package: emacs;

Reported by: "John Wiegley" <johnw <at> gnu.org>

Date: Tue, 25 Feb 2020 18:40:02 UTC

Severity: normal

Tags: moreinfo

Found in version 26.3

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39790 in the body.
You can then email your comments to 39790 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Tue, 25 Feb 2020 18:40:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "John Wiegley" <johnw <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 25 Feb 2020 18:40:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "John Wiegley" <johnw <at> gnu.org>
To: bug-gnu-emacs <at> gnu.org
Cc: Alan Third <alan <at> idiocy.org>, Eli Zaretskii <eliz <at> gnu.org>
Subject: 26.3; Painting text on macOS has becoming unbearably slow
Date: Tue, 25 Feb 2020 10:39:36 -0800
I use Emacs master as a dedicated ERC application window on macOS 10.15
(Catalina).

I've found that with current master (at least, up to the commit before the "no
text" bug I reported earlier), text redisplays *very very* slowly. In fact, I
can type faster than Emacs can display letters to me, hearkening back to ye
olde days of 110 baud modems.

I've done a Git bisect and discovered that this slow text behavior was
introduced in one of two commits. Since one of these does not compile, I could
not identify which one specifically, but it's either of:

3ad7813296760cecfd3fd35a5fb47930d61a573d
f674c905dc98a4617c40c4bc115462b4ad2ebfc2

Thus, 3ad7813296^ has fast text, as I've grown to expect, while f674c905dc has
very slow text.

The two commits are described as follows:

commit 3ad7813296760cecfd3fd35a5fb47930d61a573d (HEAD, refs/bisect/skip-3ad7813296760cecfd3fd35a5fb>
Author: Alan Third <alan <at> idiocy.org>
Date:   Sun Jul 28 15:19:19 2019 +0100

    Revert "Make all NS drawing be done from drawRect"

    This reverts commit 7946445962372c4255180af45cb7c857f1b0b5fa.

commit f674c905dc98a4617c40c4bc115462b4ad2ebfc2 (refs/bisect/bad)
Author: Alan Third <address <at> hidden>
Date:   Sun Feb 10 10:59:29 2019 +0000

    Draw to offscreen buffer on macOS

    * src/nsfns.m (x_set_background_color): Clear the frame after changing
    the background color, not before.
    * src/nsterm.h (drawingBuffer): New variable.
    ([EmacsView focusOnDrawingBuffer]):
    ([EmacsView copyRect:to:]):
    ([EmacsView createDrawingBufferWithRect:]): New methods.
    * src/nsterm.m (ns_update_begin):
    (ns_update_end):
    (ns_focus):
    (ns_unfocus): Handle drawing to offscreen buffer.
    (ns_clip_to_row): Use ns_row_rect.
    (ns_copy_bits): Remove unused function.
    (ns_scroll_run):
    (ns_shift_glyphs_for_insert): Use new scrolling method.
    (ns_draw_fringe_bitmap):
    (ns_dumpglyphs_image): When drawing to the offscreen buffer, flip
    images so they appear the right way up.
    (ns_dumpglyphs_stretch): Remove unnecessary code.
    (ns_draw_window_cursor): Don't disable screen updates.
    ([EmacsView updateFrameSize:]): Update the size of the offscreen
    buffer.
    ([EmacsView initFrameFromEmacs:]): Create offscreen buffer.
    ([EmacsView windowDidChangeBackingProperties:]):
    ([EmacsView createDrawingBufferWithRect:]):
    ([EmacsView focusOnDrawingBuffer]):
    ([EmacsView copyRect]): New methods.
    ([EmacsView viewWillDraw]): Remove method as it no longer does
    anything useful.
    ([EmacsView drawRect:]): Handle drawing from offscreen buffer.

Were a betting man, I'd guess the latter was the cause...

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Tue, 25 Feb 2020 21:17:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: bug-gnu-emacs <at> gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#39790: 26.3; Painting text on macOS has becoming unbearably
 slow
Date: Tue, 25 Feb 2020 22:16:45 +0100 (CET)
On Tue, Feb 25, 2020 at 10:39:36AM -0800, John Wiegley wrote:
> I use Emacs master as a dedicated ERC application window on macOS 10.15
> (Catalina).
> 
> I've found that with current master (at least, up to the commit before the "no
> text" bug I reported earlier), text redisplays *very very* slowly. In fact, I
> can type faster than Emacs can display letters to me, hearkening back to ye
> olde days of 110 baud modems.

Some stupid questions:

Are you using a transparent background?

What sort of hardware are you using?

Can you send me the first block of info report-emacs-bug puts in the
bug report, that looks like this:

In GNU Emacs 28.0.50 (build 192, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G3020))
 of 2020-02-25 built on breton.holly.idiocy.org
Repository revision: 4b118bdca1d8aa130fb67eadb16e08e87e698aa4
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.6

-- 
Alan Third




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Fri, 10 Apr 2020 17:34:02 GMT) Full text and rfc822 format available.

Message #11 received at 39790 <at> debbugs.gnu.org (full text, mbox):

From: "John Wiegley" <johnw <at> gnu.org>
To: Alan Third <alan <at> idiocy.org>
Cc: eliz <at> gnu.org, 39790 <at> debbugs.gnu.org
Subject: Re: bug#39790: 26.3;
 Painting text on macOS has becoming unbearably slow
Date: Fri, 10 Apr 2020 10:32:37 -0700
>>>>> "AT" == Alan Third <alan <at> idiocy.org> writes:

AT> Are you using a transparent background?

No.

AT> What sort of hardware are you using?

iMac Pro, 10-core Xeon, 64G RAM

AT> Can you send me the first block of info report-emacs-bug puts in the bug
AT> report, that looks like this:

In GNU Emacs 26.3 (build 1, x86_64-apple-darwin19.3.0, NS appkit-1894.30 Version 10.15.3 (Build 19D76))
Windowing system distributor 'Apple', version 10.3.1894

Configured using:
 'configure --prefix=/nix/store/g96nw1sy3vf6dc3kvpskiai4z1v5gvvx-emacs-26.3
 --disable-build-details --with-modules --with-ns --disable-ns-self-contained
 'CFLAGS=-O3 -Ofast -DMAC_OS_X_VERSION_MAX_ALLOWED=101200''

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Thu, 16 Apr 2020 18:22:01 GMT) Full text and rfc822 format available.

Message #14 received at 39790 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: John Wiegley <johnw <at> gnu.org>
Cc: eliz <at> gnu.org, 39790 <at> debbugs.gnu.org
Subject: Re: bug#39790: 26.3; Painting text on macOS has becoming unbearably
 slow
Date: Thu, 16 Apr 2020 19:21:12 +0100
Hi John,

I’ve pushed a change to the master branch which may sort this (but I’m
not holding out much hope. You’ll need to increase this

    -DMAC_OS_X_VERSION_MAX_ALLOWED=101200

to 101400 or higher so it will build in the correct drawing path.
-- 
Alan Third




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Wed, 11 Aug 2021 12:33:01 GMT) Full text and rfc822 format available.

Message #17 received at 39790 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Alan Third <alan <at> idiocy.org>
Cc: eliz <at> gnu.org, John Wiegley <johnw <at> gnu.org>, 39790 <at> debbugs.gnu.org
Subject: Re: bug#39790: 26.3; Painting text on macOS has becoming unbearably
 slow
Date: Wed, 11 Aug 2021 14:32:21 +0200
Alan Third <alan <at> idiocy.org> writes:

> I’ve pushed a change to the master branch which may sort this (but I’m
> not holding out much hope. You’ll need to increase this
>
>     -DMAC_OS_X_VERSION_MAX_ALLOWED=101200
>
> to 101400 or higher so it will build in the correct drawing path.

This was a year ago -- are you still seeing these problems, John?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 11 Aug 2021 12:33:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39790; Package emacs. (Thu, 09 Sep 2021 15:23:02 GMT) Full text and rfc822 format available.

Message #22 received at 39790 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Alan Third <alan <at> idiocy.org>
Cc: eliz <at> gnu.org, John Wiegley <johnw <at> gnu.org>, 39790 <at> debbugs.gnu.org
Subject: Re: bug#39790: 26.3; Painting text on macOS has becoming unbearably
 slow
Date: Thu, 09 Sep 2021 17:22:10 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Alan Third <alan <at> idiocy.org> writes:
>
>> I’ve pushed a change to the master branch which may sort this (but I’m
>> not holding out much hope. You’ll need to increase this
>>
>>     -DMAC_OS_X_VERSION_MAX_ALLOWED=101200
>>
>> to 101400 or higher so it will build in the correct drawing path.
>
> This was a year ago -- are you still seeing these problems, John?

More information was requested, but no response was given within a
month, so I'm closing this bug report.  If the problem still exists,
please respond to this email and we'll reopen the bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug closed, send any further explanations to 39790 <at> debbugs.gnu.org and "John Wiegley" <johnw <at> gnu.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 09 Sep 2021 15:23:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 08 Oct 2021 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 194 days ago.

Previous Next


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