all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: Alan Third <alan@idiocy.org>
Cc: Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>, 34710@debbugs.gnu.org
Subject: bug#34710: the mode line flicks on set-window-vscroll
Date: Mon, 04 Mar 2019 22:07:25 +0100	[thread overview]
Message-ID: <m2mumagxgy.fsf@gmail.com> (raw)
In-Reply-To: <20190304192550.GB21727@breton.holly.idiocy.org> (Alan Third's message of "Mon, 4 Mar 2019 19:25:50 +0000")

Alan Third <alan@idiocy.org> writes:

> On Mon, Mar 04, 2019 at 10:06:20AM +0100, Robert Pluim wrote:
>> Alan Third <alan@idiocy.org> writes:
>> 
>> > I believe it’s a problem with running redisplay rapidly (sit-for) and
>> > the way we’re drawing in NS. We end up with macOS demanding a screen
>> > update, and Emacs unable to deliver due to there being another
>> > redisplay coming up.
>> >
>> > The patch attached to this discussion doesn’t have the problem:
>> >
>> > https://lists.gnu.org/archive/html/emacs-devel/2019-02/msg00354.html
>> >
>> > However Robert Pluim reported serious performance problems with it. I
>> > haven’t been able to replicate them.
>> 
>> I can try it again. Perhaps something in my configuration is causing
>> this.
>
> If you can try and track it down that would be very helpful.
>
> The only thing I can think of that could make it very slow is drawing
> the buffer to the screen, but that really shouldn’t be as slow as
> you’re experiencing, it is, after all, just drawing an image to the
> screen.

To be clear: the slowness I experience does not seem wholly related to
redisplay: if I move down in a file using 'C-n', without the buffer
scrolling, the movement is very slow. Then when it does actually
update the screen because Iʼve moved point off the bottom, it is again
slow (by a rough measurement, moving from the top to the bottom of my
org file using C-v is approximately twice as slow).

(this is all with 'emacs -Q')

Iʼve just run another test where I scroll my org file programmatically
rather than interactively, and then your patch makes no discernable
difference:

(benchmark-run 1000
               (goto-char (point-min))
               (condition-case nil
                   (while t
                     (scroll-up-command))
                 (error nil)))
                 
takes ~15 seconds in both vanilla emacs-26 and with your patch.

Are there any other tests you'd like me to run? (I know nothing about
macOS profiling tools)

Robert





  reply	other threads:[~2019-03-04 21:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-02 10:25 bug#34710: the mode line flicks on set-window-vscroll Tak Kunihiro
2019-03-02 20:10 ` Alan Third
2019-03-03  4:15   ` Tak Kunihiro
2019-03-04  9:06   ` Robert Pluim
2019-03-04 19:25     ` Alan Third
2019-03-04 21:07       ` Robert Pluim [this message]
2019-03-04 22:45         ` Alan Third
2019-03-05  9:06           ` Robert Pluim
2019-03-05 17:09             ` Robert Pluim
2019-03-06  8:06               ` Alan Third
2019-03-06  9:13                 ` Robert Pluim
2019-03-07  0:25 ` Tak Kunihiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2mumagxgy.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=34710@debbugs.gnu.org \
    --cc=alan@idiocy.org \
    --cc=tkk@misasa.okayama-u.ac.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.