From: Alan Mackenzie <acm@muc.de>
To: Dmitry Gutov <dgutov@yandex.ru>, Eli Zaretskii <eliz@gnu.org>
Cc: rudalics@gmx.at, rrandresf@gmail.com, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Scrolling commands and skipping redisplay
Date: Sat, 11 Apr 2020 13:21:26 +0000 [thread overview]
Message-ID: <20200411132126.GA6682@ACM> (raw)
In-Reply-To: <478c2aab-a5fc-61c2-02e2-2d9846b95273@yandex.ru>
On Thu, Apr 09, 2020 at 03:32:13 +0300, Dmitry Gutov wrote:
[ .... ]
I think it would be useful to have a quick summary of six possibilities
for fast scrolling of a buffer caused by holding down C-v.
I observed these phenomena on a master branch build with CFLAGS=-Og -g3
before the recent optimisations for this. I'm running on a Linux
virtual terminal, with 65 lines of text fitting in a window.
In all the tests I held down <page down> for a few seconds, then let it
go. (<page down> is equivalent to C-v.)
Disclosure: I implemented fast-but-imprecise-scrolling.
(i) (eq jit-lock-defer-timer nil)
a - f-b-i-s nil:
One or two screenfuls get displayed; then Emacs appears to hang.
On releasing <page down> Emacs does nothing and is unresponsive for
a long time (up to 10 or 20 seconds). It then displays the position
it has reached.
b - f-b-i-s t:
Emacs continually displays a different screen, always fontified, but
jerkily. On releasing <page down>, one or two more screens are
displayed, and Emacs becomes responsonsive again almost instantly.
(ii) (eq jit-lock-defer-timer 0)
a - f-b-i-s nil:
Screenfuls get continually displayed, all fontified, but jerkily.
On releasing <page down>, the scrolling continues for a long time
(10 or 20 seconds), and the last screen is displayed, before Emacs
becomes responsive to user input.
b - f-b-i-s t:
Screenfuls get continually displayed, but more slowly that in (ii)a,
and jerkily. Screenfuls are partially fontified when they are first
displayed, and the fontification gets completed an instant later,
before scrolling further. On releasing <page down>, Emacs becomes
responsive again almost instantly.
(iii) (eq jit-lock-defer-time 0.1)
a - f-b-i-s nil:
Screenfuls are displayed steadily and rapidly, unfontified. On
releasing the key, the scrolling stops instantly, and there is a
longish (0.1s) delay until the same screen gets redisplayed
fontified. Emacs becomes responsive instantly.
b - f-b-i-s t:
Indistinguishable from (iii)(a).
My personal view: As defaults, I think (i)a and (ii)a are bad, due
to the long intervals Emacs appears to have hung in. Of (i)b and (ii)b,
I think (i)b is better, since it avoids the "twinkling" of (ii)b.
I dislike (iii)a,b because of the appearance of non-fontified screens,
but particularly because the last screen gets fontified in situ after
first appearing unfontified. I think the non-fontification looks poor
to a user, even though the scrolling is smooth.
If it were up to me to chose a default setting, I would prefer (i)b,
closely followed by (ii)b.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2020-04-11 13:21 UTC|newest]
Thread overview: 359+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-21 22:19 emacs rendering comparisson between emacs23 and emacs26.3 rrandresf
2020-03-21 22:47 ` Stefan Monnier
2020-03-22 3:32 ` Eli Zaretskii
2020-03-22 12:38 ` Alan Mackenzie
2020-03-22 15:08 ` Amin Bandali
2020-03-22 16:58 ` Eli Zaretskii
2020-03-23 2:51 ` Richard Stallman
2020-03-26 19:31 ` Alan Mackenzie
2020-03-26 20:25 ` Stefan Monnier
2020-03-26 20:38 ` rrandresf
2020-03-27 7:00 ` Eli Zaretskii
2020-03-27 18:36 ` andrés ramírez
2020-03-28 2:48 ` Richard Stallman
2020-03-28 7:09 ` Eli Zaretskii
2020-03-28 9:08 ` Eli Zaretskii
2020-03-28 11:58 ` Alan Mackenzie
2020-03-28 11:43 ` Alan Mackenzie
2020-03-28 12:05 ` Eli Zaretskii
2020-03-28 12:18 ` Alan Mackenzie
2020-03-28 12:28 ` Eli Zaretskii
2020-03-28 13:14 ` Alan Mackenzie
2020-03-28 13:28 ` Eli Zaretskii
2020-03-29 14:13 ` andrés ramírez
2020-03-28 13:54 ` Stefan Monnier
2020-03-28 12:43 ` Stefan Monnier
2020-03-28 2:40 ` Richard Stallman
2020-03-28 9:21 ` Michael Albinus
2020-03-28 9:58 ` Eli Zaretskii
2020-03-28 10:09 ` Eli Zaretskii
2020-03-28 14:43 ` Clément Pit-Claudel
2020-03-28 15:03 ` Eli Zaretskii
2020-03-28 15:17 ` Clément Pit-Claudel
2020-03-28 15:44 ` Eli Zaretskii
2020-03-28 16:10 ` Dmitry Gutov
2020-03-28 16:11 ` Dmitry Gutov
2020-03-28 16:25 ` Eli Zaretskii
2020-03-28 16:43 ` Dmitry Gutov
2020-03-28 21:08 ` rrandresf
2020-03-28 21:20 ` Dmitry Gutov
2020-03-28 21:38 ` andrés ramírez
2020-03-28 21:41 ` Dmitry Gutov
2020-03-28 22:15 ` andres.ramirez
2020-03-28 22:24 ` Dmitry Gutov
2020-03-29 14:30 ` Eli Zaretskii
2020-03-29 16:39 ` Stefan Monnier
2020-03-29 17:28 ` Eli Zaretskii
2020-03-29 18:10 ` Dmitry Gutov
2020-03-29 18:54 ` emacs-tree-sitter and font-lock (was: emacs rendering comparisson between emacs23 and emacs26.3) Stefan Monnier
2020-03-29 19:20 ` emacs-tree-sitter and font-lock Dmitry Gutov
2020-03-31 10:15 ` font lock with functions (was: emacs rendering comparisson between emacs23 and emacs26.3) David Engster
2020-03-31 10:42 ` font lock with functions Adam Porter
2020-03-31 13:20 ` Stefan Monnier
2020-03-31 14:25 ` Dmitry Gutov
2020-03-31 14:56 ` Stefan Monnier
2020-03-31 15:04 ` Dmitry Gutov
2020-04-01 10:13 ` David Engster
2020-04-01 1:02 ` Stephen Leake
2020-03-29 18:27 ` emacs rendering comparisson between emacs23 and emacs26.3 Dmitry Gutov
2020-03-29 18:39 ` Eli Zaretskii
2020-03-29 19:11 ` Dmitry Gutov
2020-03-29 19:04 ` 조성빈
2020-03-29 19:12 ` Eli Zaretskii
2020-03-30 3:42 ` Richard Stallman
2020-03-30 13:01 ` Eli Zaretskii
2020-03-31 2:28 ` Richard Stallman
2020-03-31 13:07 ` Eli Zaretskii
2020-03-31 16:05 ` Andrea Corallo
2020-03-31 17:34 ` Eli Zaretskii
2020-03-31 18:00 ` Andrea Corallo
2020-03-31 18:19 ` Eli Zaretskii
2020-03-31 18:34 ` Andrea Corallo
2020-03-31 19:05 ` Stefan Monnier
2020-04-01 2:07 ` Richard Stallman
2020-04-01 13:23 ` Eli Zaretskii
2020-04-02 2:32 ` Richard Stallman
2020-04-02 7:32 ` martin rudalics
2020-04-03 2:52 ` Richard Stallman
2020-04-03 6:59 ` martin rudalics
2020-04-03 13:38 ` Stefan Monnier
2020-04-03 16:23 ` martin rudalics
2020-04-03 16:56 ` Stefan Monnier
2020-04-04 8:54 ` martin rudalics
2020-04-03 18:08 ` Paul Eggert
2020-04-04 8:55 ` martin rudalics
2020-04-05 0:07 ` Paul Eggert
2020-04-05 1:50 ` Dmitry Gutov
2020-04-05 8:46 ` martin rudalics
2020-04-05 20:38 ` Paul Eggert
2020-04-05 10:23 ` Inlining policy (was: emacs rendering comparisson between emacs23 and emacs26.3) Andrea Corallo
2020-04-06 18:15 ` Inlining policy Stefan Monnier
2020-04-06 18:26 ` Paul Eggert
2020-04-06 19:17 ` Andrea Corallo
2020-04-06 21:45 ` Stefan Monnier
2020-04-08 4:03 ` Paul Eggert
2020-04-08 18:28 ` Andrea Corallo
2020-04-08 18:44 ` Paul Eggert
2020-04-08 19:09 ` Andrea Corallo
2020-04-08 21:00 ` Paul Eggert
2020-04-08 21:31 ` Andrea Corallo
2020-04-03 17:47 ` emacs rendering comparisson between emacs23 and emacs26.3 Alan Mackenzie
2020-04-04 8:56 ` martin rudalics
2020-04-04 10:45 ` Alan Mackenzie
2020-04-04 11:10 ` martin rudalics
2020-04-04 11:29 ` Eli Zaretskii
2020-04-05 8:44 ` martin rudalics
2020-04-05 13:08 ` Eli Zaretskii
2020-04-05 15:50 ` martin rudalics
2020-04-05 16:15 ` Eli Zaretskii
2020-04-05 18:05 ` Dmitry Gutov
2020-04-05 18:16 ` Eli Zaretskii
2020-04-05 18:20 ` Dmitry Gutov
2020-04-05 18:27 ` Eli Zaretskii
2020-04-05 18:42 ` Dmitry Gutov
2020-04-05 19:03 ` Eli Zaretskii
2020-04-05 19:25 ` Dmitry Gutov
2020-04-06 2:25 ` Eli Zaretskii
2020-04-06 18:59 ` Dmitry Gutov
2020-04-07 14:30 ` Eli Zaretskii
2020-04-07 15:04 ` Dmitry Gutov
2020-04-07 17:42 ` Alan Mackenzie
2020-04-07 19:45 ` Dmitry Gutov
2020-04-08 2:09 ` Alan Mackenzie
2020-04-10 3:33 ` Dmitry Gutov
2020-04-12 15:34 ` Alan Mackenzie
2020-04-16 1:43 ` Dmitry Gutov
2020-04-19 17:12 ` Alan Mackenzie
2020-04-19 18:12 ` Dmitry Gutov
2020-04-19 23:21 ` Stefan Monnier
2020-04-20 13:33 ` Dmitry Gutov
2020-04-20 19:01 ` Stefan Monnier
2020-04-20 19:51 ` Alan Mackenzie
2020-04-20 21:58 ` Stefan Monnier
2020-04-20 20:06 ` Alan Mackenzie
2020-04-20 20:08 ` Dmitry Gutov
2020-04-20 21:19 ` Alan Mackenzie
2020-04-21 1:41 ` Dmitry Gutov
2020-04-21 3:41 ` Stefan Monnier
2020-04-16 13:52 ` Stefan Monnier
2020-04-07 19:22 ` Eli Zaretskii
2020-04-07 20:05 ` Dmitry Gutov
2020-04-08 6:17 ` Eli Zaretskii
2020-04-07 20:10 ` Alan Mackenzie
2020-04-08 6:15 ` Eli Zaretskii
2020-04-08 7:02 ` Alan Mackenzie
2020-04-08 7:10 ` Eli Zaretskii
2020-04-08 7:40 ` Eli Zaretskii
2020-04-08 14:22 ` Stefan Monnier
2020-04-08 15:06 ` Eli Zaretskii
2020-04-08 15:16 ` Stefan Monnier
2020-04-08 15:36 ` Eli Zaretskii
2020-04-08 8:38 ` martin rudalics
2020-04-08 9:44 ` Eli Zaretskii
2020-04-08 14:25 ` Stefan Monnier
2020-04-05 18:23 ` Eli Zaretskii
2020-04-05 18:55 ` Dmitry Gutov
2020-04-05 19:03 ` Stefan Monnier
2020-04-05 19:14 ` Eli Zaretskii
2020-04-05 19:21 ` Dmitry Gutov
2020-04-06 2:16 ` Stefan Monnier
2020-04-06 18:39 ` Dmitry Gutov
2020-04-06 21:27 ` Stefan Monnier
2020-04-06 21:40 ` Dmitry Gutov
2020-04-06 23:43 ` Stefan Monnier
2020-04-06 23:53 ` Dmitry Gutov
2020-04-07 3:17 ` Stefan Monnier
2020-04-05 19:06 ` Eli Zaretskii
2020-04-05 19:16 ` andrés ramírez
2020-04-05 19:19 ` Eli Zaretskii
2020-04-05 19:28 ` Dmitry Gutov
2020-04-05 19:57 ` Alan Mackenzie
2020-04-05 20:48 ` Dmitry Gutov
2020-04-06 12:43 ` Dmitry Gutov
2020-04-06 13:39 ` Eli Zaretskii
2020-04-06 13:55 ` Dmitry Gutov
2020-04-06 14:44 ` Eli Zaretskii
2020-04-06 17:16 ` Dmitry Gutov
2020-04-07 14:26 ` Eli Zaretskii
2020-04-08 2:29 ` Richard Stallman
2020-04-08 6:45 ` Eli Zaretskii
2020-04-08 8:37 ` martin rudalics
2020-04-08 13:59 ` Eli Zaretskii
2020-04-08 14:45 ` Stefan Monnier
2020-04-09 0:32 ` Scrolling commands and skipping redisplay, was: " Dmitry Gutov
2020-04-09 7:46 ` Eli Zaretskii
2020-04-09 13:19 ` Stefan Monnier
2020-04-09 18:37 ` Dmitry Gutov
2020-04-09 19:16 ` Stefan Monnier
2020-04-09 19:30 ` Dmitry Gutov
2020-04-09 19:46 ` Stefan Monnier
2020-04-09 21:50 ` Dmitry Gutov
2020-04-10 6:13 ` Eli Zaretskii
2020-04-10 12:38 ` Dmitry Gutov
2020-04-10 13:34 ` Eli Zaretskii
2020-04-10 14:34 ` Dmitry Gutov
2020-04-10 14:45 ` Stefan Monnier
2020-04-10 17:23 ` Dmitry Gutov
2020-04-10 17:46 ` Stefan Monnier
2020-04-11 4:44 ` Dmitry Gutov
2020-04-11 13:45 ` Stefan Monnier
2020-04-11 21:32 ` Dmitry Gutov
2020-04-12 5:03 ` Stefan Monnier
2020-04-16 2:04 ` Dmitry Gutov
2020-04-10 18:25 ` Eli Zaretskii
2020-04-10 15:47 ` Eli Zaretskii
2020-04-11 0:21 ` Dmitry Gutov
2020-04-11 7:55 ` Eli Zaretskii
2020-04-12 2:51 ` Dmitry Gutov
2020-04-12 7:01 ` Eli Zaretskii
2020-04-09 19:20 ` Eli Zaretskii
2020-04-09 19:28 ` Dmitry Gutov
2020-04-10 6:08 ` Eli Zaretskii
2020-04-10 14:38 ` Dmitry Gutov
2020-04-09 19:33 ` Stefan Monnier
2020-04-09 22:17 ` Dmitry Gutov
2020-04-10 6:47 ` Eli Zaretskii
2020-04-10 13:00 ` Stefan Monnier
2020-04-10 13:38 ` Eli Zaretskii
2020-04-10 14:29 ` Stefan Monnier
2020-04-10 14:41 ` Stefan Monnier
2020-04-10 15:36 ` Eli Zaretskii
2020-04-10 15:55 ` Dmitry Gutov
2020-04-10 14:45 ` Dmitry Gutov
2020-04-10 15:56 ` Eli Zaretskii
2020-04-12 3:07 ` Dmitry Gutov
2020-04-12 7:10 ` Eli Zaretskii
2020-04-16 2:18 ` Dmitry Gutov
2020-04-16 5:22 ` Eli Zaretskii
2020-04-16 20:13 ` Dmitry Gutov
2020-04-17 6:11 ` Eli Zaretskii
2020-04-17 17:04 ` Dmitry Gutov
2020-04-17 17:35 ` Eli Zaretskii
2020-04-17 17:52 ` Dmitry Gutov
2020-04-17 18:48 ` Eli Zaretskii
2020-04-19 17:09 ` Dmitry Gutov
2020-04-19 17:17 ` Stefan Monnier
2020-04-19 18:51 ` Eli Zaretskii
2020-04-19 23:22 ` Stefan Monnier
2020-04-20 14:23 ` Eli Zaretskii
2020-04-20 15:36 ` Stefan Monnier
2020-04-20 16:42 ` Dmitry Gutov
2020-04-20 16:51 ` Eli Zaretskii
2020-04-20 16:56 ` Dmitry Gutov
2020-04-20 17:02 ` Andreas Schwab
2020-04-20 17:35 ` Eli Zaretskii
2020-04-20 17:47 ` Stefan Monnier
2020-04-20 18:12 ` Eli Zaretskii
2020-04-20 18:19 ` Eli Zaretskii
2020-04-20 18:29 ` Dmitry Gutov
2020-04-20 18:52 ` Eli Zaretskii
2020-04-20 19:03 ` Dmitry Gutov
2020-04-20 18:51 ` Stefan Monnier
2020-04-20 19:09 ` Eli Zaretskii
2020-04-20 21:50 ` Stefan Monnier
2020-04-21 13:27 ` Eli Zaretskii
2020-04-22 3:14 ` Richard Stallman
2020-04-22 13:26 ` Eli Zaretskii
2020-04-23 2:37 ` Richard Stallman
2020-04-23 13:17 ` Stefan Monnier
2020-04-23 14:46 ` Eli Zaretskii
2020-04-24 2:39 ` Richard Stallman
2020-04-20 18:27 ` Dmitry Gutov
2020-04-20 17:39 ` Stefan Monnier
2020-04-20 17:42 ` Eli Zaretskii
2020-04-19 19:06 ` Eli Zaretskii
2020-04-20 3:17 ` Dmitry Gutov
2020-04-20 15:01 ` Eli Zaretskii
2020-04-20 17:04 ` Dmitry Gutov
2020-04-20 17:39 ` Eli Zaretskii
2020-04-20 18:26 ` Dmitry Gutov
2020-04-20 3:27 ` Dmitry Gutov
2020-04-20 15:16 ` Eli Zaretskii
2020-04-21 1:27 ` Dmitry Gutov
2020-04-21 14:02 ` Eli Zaretskii
2020-04-24 1:23 ` Dmitry Gutov
2020-04-24 9:51 ` Eli Zaretskii
2020-04-25 0:21 ` Dmitry Gutov
2020-04-16 20:20 ` Stefan Monnier
2020-04-17 6:18 ` Eli Zaretskii
2020-04-17 15:13 ` Stefan Monnier
2020-04-17 15:25 ` Eli Zaretskii
2020-04-17 16:39 ` Dmitry Gutov
2020-04-11 13:21 ` Alan Mackenzie [this message]
2020-04-11 13:45 ` Scrolling commands and skipping redisplay Eli Zaretskii
2020-04-11 17:04 ` Alan Mackenzie
2020-04-11 17:15 ` Eli Zaretskii
2020-04-11 21:13 ` Alan Mackenzie
2020-04-06 2:27 ` emacs rendering comparisson between emacs23 and emacs26.3 Eli Zaretskii
2020-04-06 12:26 ` Alan Mackenzie
2020-04-07 8:31 ` martin rudalics
2020-04-07 11:47 ` Alan Mackenzie
2020-04-07 12:45 ` martin rudalics
2020-04-07 13:11 ` Dmitry Gutov
2020-04-08 8:36 ` martin rudalics
2020-04-08 10:37 ` Dmitry Gutov
2020-04-08 11:22 ` Eli Zaretskii
2020-04-08 14:01 ` Dmitry Gutov
2020-04-07 14:15 ` Eli Zaretskii
2020-04-07 12:07 ` Dmitry Gutov
2020-04-07 12:35 ` Dmitry Gutov
2020-04-07 12:45 ` martin rudalics
2020-04-06 9:05 ` martin rudalics
2020-04-06 13:29 ` Eli Zaretskii
2020-04-06 15:29 ` Stefan Monnier
2020-04-06 17:40 ` martin rudalics
2020-04-05 18:48 ` Stefan Monnier
2020-04-06 9:05 ` martin rudalics
2020-04-06 15:25 ` Stefan Monnier
2020-04-06 15:30 ` Eli Zaretskii
2020-04-06 16:23 ` Stefan Monnier
2020-04-04 12:01 ` Alan Mackenzie
2020-04-05 8:45 ` martin rudalics
2020-04-06 3:49 ` Ravine Var
2020-04-06 9:05 ` martin rudalics
2020-04-06 9:04 ` martin rudalics
2020-04-04 19:20 ` Alan Mackenzie
2020-04-04 22:53 ` Stefan Monnier
2020-04-06 9:04 ` martin rudalics
2020-04-05 3:12 ` Richard Stallman
2020-04-05 11:16 ` Alan Mackenzie
2020-04-05 14:10 ` Stefan Monnier
2020-04-06 2:36 ` Richard Stallman
2020-04-06 14:43 ` Stefan Monnier
2020-04-07 2:48 ` Richard Stallman
2020-04-07 3:23 ` Stefan Monnier
2020-04-06 14:55 ` Dmitry Gutov
2020-04-06 19:36 ` Alan Mackenzie
2020-04-06 22:12 ` Dmitry Gutov
2020-04-06 23:41 ` Stefan Monnier
2020-04-07 14:17 ` Dmitry Gutov
2020-04-06 2:36 ` Richard Stallman
2020-04-06 12:14 ` Alan Mackenzie
2020-04-07 2:49 ` Richard Stallman
2020-04-07 3:26 ` Stefan Monnier
2020-04-08 2:29 ` Richard Stallman
2020-04-08 3:48 ` Stefan Monnier
2020-04-09 3:10 ` Richard Stallman
2020-04-09 6:43 ` Eli Zaretskii
2020-04-10 2:08 ` Richard Stallman
2020-04-10 3:07 ` Stefan Monnier
2020-04-11 2:31 ` Richard Stallman
2020-04-11 4:20 ` Stefan Monnier
2020-04-06 2:36 ` Richard Stallman
2020-04-05 13:27 ` Alan Mackenzie
2020-04-05 15:50 ` martin rudalics
2020-04-06 2:36 ` Richard Stallman
2020-04-06 13:21 ` Eli Zaretskii
2020-04-07 8:32 ` martin rudalics
2020-04-07 12:52 ` Dmitry Gutov
2020-04-08 8:36 ` martin rudalics
2020-04-07 14:03 ` Eli Zaretskii
2020-04-08 8:37 ` martin rudalics
2020-04-11 15:13 ` Noam Postavsky
2020-04-08 2:29 ` Richard Stallman
2020-04-08 6:40 ` Eli Zaretskii
2020-04-09 3:10 ` Richard Stallman
2020-04-06 14:46 ` Stefan Monnier
2020-04-02 13:30 ` Eli Zaretskii
2020-04-03 2:54 ` Richard Stallman
2020-03-28 20:08 ` andrés ramírez
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200411132126.GA6682@ACM \
--to=acm@muc.de \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
--cc=rrandresf@gmail.com \
--cc=rudalics@gmx.at \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).