unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Alan Mackenzie <acm@muc.de>
Cc: 20404@debbugs.gnu.org, Tassilo Horn <tsdh@gnu.org>
Subject: bug#20404: 25.0.50; Sometimes no fontification with jit-lock-defer-time
Date: Wed, 22 Apr 2015 16:52:42 -0400	[thread overview]
Message-ID: <jwvzj5z7vzq.fsf-monnier+emacsbugs@gnu.org> (raw)
In-Reply-To: <20150422193204.GC4120@acm.fritz.box> (Alan Mackenzie's message of "Wed, 22 Apr 2015 19:32:04 +0000")

> How long is "too long"?  Do you mean that, with
> fast-but-imprecise-scrolling non-nil, jit-lock-defer-time nil, holding
> down C-v, that there is no redisplay for several seconds?

No, it's usually shorter than "several seconds", but it's only refreshed
maybe twice a second (I use a repeat rate of 40/s) with a few waits that
are longer than that.
In contrast with jit-lock-defer-time set to 0, the scrolling is mostly
smooth for me.

> That would be suggesting that the time to scroll one screen (without
> fontification) is longer than your auto-repeat interval, which
> sounds implausible.

It's not the case, indeed, no.
[ Though, if I push the test with a sufficiently tall window (1600
vertical pixels, and a small enough font), I do get it to skip some
redisplays even with font-lock-mode off.  But that's also because my
processor is slow ("Atom-Z530 @ 1.60GHz") and I compile with all kinds
of extra debugging code.  ]

> No, I don't.  ;-)  What I see is somewhat jerky scrolling, mainly
> unfontified, but with some fontification flashing on each screen some
> short time (?10-100 milliseconds) before the next scroll.

Hmm... interesting.  I don't see the "some fontification flashing": for
me it scrolls unfontified until I stop scrolling (at which point it's
shown immediately fontified).
I guess in your case, your machine is just fast enough to perform the
fontification every few steps, whereas mine is always "trying to catch up".

Maybe for you to see the same behavior as I see, you'd have to use
a non-0 setting for jit-lock-defer-time to try and prevent the
occasional deferred fontification (probably using a defer-time that's just
above the repeat-time of your keyboard), but my hack (which basically
disables the deferring when there's no pending input) would need to be
tweaked (it treats timer==0 specially).

> What I see with fast-but-imprecise-scrolling is somewhat jerky scrolling,
> but each displayed screen being fully fontified.

Yes, the always-fontified display is clearly the obvious advantage of
fast-but-imprecise-scrolling.  I'm personally bothered by the jerkiness
of the scrolling, but if jit-lock-defer-time also gives you jerky
scrolling, then clearly it's a loser.

> Also, when I attempt to disable jit-lock-defer-time (through the
> customisation interface) the jit-lock-defer-timer keeps running, and the
> "defer" mechanism keeps running with it.  This seems worth a bug report
> in its own right.

Yup, sounds like it deserves its own bug report.

> I don't understand how what you're seeing is so bad.  I thought you had a
> powerful workstation, a class above a typical PC, and that you had your
> auto-repeat rate at a conservative figure (25 or 30 per second) rather
> than the insane rate (~40 per second) I have.

I have various machines, but my desktops are a Fit-PC2 (at work) and
a AMD E-350 (at home).  So "powerful workstation" is not exactly the
term I would employ.
This said, "insane" is not the term I'd use to describe 40 repetitions
per seconds either.

> I have a 5 year old machine, not a blazingly fast super-modern one,
> and my window is 64 lines deep.

Right windows are typically between 65 and 80 lines tall, as well.


        Stefan





  reply	other threads:[~2015-04-22 20:52 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-22  9:45 bug#20404: 25.0.50; Sometimes no fontification with jit-lock-defer-time Tassilo Horn
2015-04-22 10:32 ` Eli Zaretskii
2015-04-22 20:32   ` Tassilo Horn
2015-04-22 21:39     ` Eli Zaretskii
2015-04-23  5:59       ` Tassilo Horn
2015-04-23  6:14         ` Eli Zaretskii
2015-04-23  8:36           ` Tassilo Horn
     [not found] ` <mailman.1344.1429696032.904.bug-gnu-emacs@gnu.org>
2015-04-22 16:31   ` Alan Mackenzie
2015-04-22 17:37     ` Stefan Monnier
2015-04-22 19:32       ` Alan Mackenzie
2015-04-22 20:52         ` Stefan Monnier [this message]
2015-04-22 20:10       ` Tassilo Horn
2015-04-22 21:33         ` Eli Zaretskii
2015-04-23  4:15           ` Tassilo Horn
2015-04-23  6:35             ` Eli Zaretskii
2015-04-23 13:40               ` Stefan Monnier
2015-04-23 15:11                 ` Eli Zaretskii
2015-04-23 16:23                   ` Stefan Monnier
2015-04-23 17:03                     ` Eli Zaretskii
2015-04-23 17:27                       ` Stefan Monnier
2015-04-23 17:34                         ` Eli Zaretskii
2015-04-23 19:35                           ` Stefan Monnier
2015-04-24  9:41                             ` Eli Zaretskii
2015-04-24 14:03                               ` Stefan Monnier
2015-04-24 14:36                                 ` Eli Zaretskii
2015-04-24 18:03                                   ` Stefan Monnier
2015-04-23 19:53                       ` Tassilo Horn
2015-04-23 17:25                     ` Eli Zaretskii
2015-04-23 19:31                       ` Stefan Monnier
2015-04-23 19:52                         ` Eli Zaretskii
2015-04-23 19:56                         ` Tassilo Horn
2015-04-23  7:54 ` Eli Zaretskii
2015-04-23  8:38   ` Eli Zaretskii
2015-04-23  9:04     ` Tassilo Horn
2015-04-23  9:16       ` Eli Zaretskii
2015-04-23 13:40     ` Stefan Monnier
2019-10-31 14:23     ` Lars Ingebrigtsen
2019-10-31 14:51       ` Eli Zaretskii
2015-04-23  8:38   ` Tassilo Horn

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=jwvzj5z7vzq.fsf-monnier+emacsbugs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=20404@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=tsdh@gnu.org \
    /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).