Subject: Re: bug#62352: Very slow scroll-down-line with a lot of text properties

From: Herman, Géza <[email-masked]>
Date: Tue, 21 Mar 2023 21:39:03 +0100

On 3/21/23 21:26, Eli Zaretskii wrote:
>> Date: Tue, 21 Mar 2023 21:01:58 +0100
>> From: "Herman, Geza" <[email-masked]>
>>
>> Emacs can freeze for seconds when scroll-down-line is called multiple
>> times if the buffer contains a lot of text properties.
> Not any text properties: 'face' text properties.  Right?
Probably, I don't know how to check other properties.

> In general, any change in faces causes the display iterator to stop
> and load the new face, before it continues.  They also cause drawing
> on the screen to be in smaller chunks, since each stretch of
> characters in the same face is drawn together.  And this example
> basically changes to a new face every character.  So this is expected
> to display slower than usual.
>
> However, are you saying that this is slower in Emacs 29 than it was in
> Emacs 28?  If so, bisection will be appreciated.
I checked this with emacs 28 now, it behaves the same, so it's not a 
regression.

It seems this issue is scroll-down-line specific. I mean, it doesn't 
happen with the "normal" scrolling (when the point is also moved, not 
just the window start point). If I set scroll-conservatively to 101 
(this way normal scrolling behaves the same as scroll-down-line after 
the point hits the edge of the window), and move upwards with the cursor 
key, scrolling is more-or-less OK. It's a little bit erratic, but no 
freeze happens.