|
From: | Herman |
Subject: | bug#62352: Very slow scroll-down-line with a lot of text properties |
Date: | Tue, 21 Mar 2023 21:39:03 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 |
On 3/21/23 21:26, Eli Zaretskii wrote:
Date: Tue, 21 Mar 2023 21:01:58 +0100 From: "Herman, Geza" <geza.herman@gmail.com> 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.
I checked this with emacs 28 now, it behaves the same, so it's not a regression.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.
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.
[Prev in Thread] | Current Thread | [Next in Thread] |