[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unfreezing the display during auto-repeated scrolling. Simpler appro
From: |
Tassilo Horn |
Subject: |
Re: Unfreezing the display during auto-repeated scrolling. Simpler approach. |
Date: |
Sun, 23 Nov 2014 20:44:39 +0100 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux) |
Alan Mackenzie <address@hidden> writes:
Hi Alan,
>> But I've applied your patch and run "make", fired up a new emacs and
>> set `use-default-face-for-fast-scrolling' to t, then found a large
>> file and pressed and held `C-v'. I couldn't see any difference
>> compared to not having the option enabled. All the text that's
>> passing by is still fontified and scrolling doesn't seem faster.
>
> The main point is, text continues to pass by. What was happening was
> that on an auto-repeated C-v, Emacs would hang (without scrolling),
> and after releasing the key, it took quite a few seconds before the
> display would be updated. During this time Emacs was completely
> unresponsive.
>
> With `use-default-face-for-fast-scrolling' at nil, all the text
> scrolled over gets fontified, and lesser machines (such as mine)
> cannot keep up. With the option set to t, only the text being
> displayed gets fontified. The appearance may be of text continually
> scrolling, but this is an illusion; only parts of the scrolled over
> text get fontified and displayed.
>
> To see the effect, make your window as large as possible (mine was 66
> lines deep) and try with a file like .../src/xdisp.c. Toggle
> font-lock-mode off and on between each try. If you still don't see any
> difference, then your machine is powerful enough not to need the feature.
Oh, indeed. My machine is pretty fast at least for a laptop, but when
holding C-v the display freezes very quickly as you say. With
`use-default-face-for-fast-scrolling' I don't get such freezes, so this
looks like a very good feature to me (2nd best after "make the display
engine faster").
But still I think the variable's name is a bit misleading. I expected
to see the text that scrolls by black on white, i.e., using the default
face similar to having `jit-lock-defer-time' set to some non-nil value.
But instead the text that scrolls by and is visible is fontified using
the normal font-lock faces.
Bye,
Tassilo