|
From: | Herman, Geza |
Subject: | Re: Rendering performace vs. line-spacing |
Date: | Fri, 8 Jan 2021 16:38:10 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 2021-01-08 15:35, Eli Zaretskii wrote:
Yes, my full screen emacs has a width of ~270. Sometimes I use this as a full screen window, sometimes I split it into two with split-window-horizontally.If screen lines overlap with the offending font, then the difference could be justified, because redrawing one screen line would require redrawing the two adjacent screen lines. I'm a bit surprised by the large performance hit, though, so maybe it's worth looking at the code which gets run in the slow case, to see maybe some unnecessary work we are doing in that case. Do you have very wide windows, per chance? Does the problem becomes smaller if you make your frames and windows narrower?
And yes, the problem becomes smaller if I make the window narrower, or if the screen contains less characters. This problem is most visible at a particular part of my code which contains a larger table, with long lines (~160).
I disabled redrawing caused by overlapping by commenting out the line which sets the "row->overlapping_p" flag (xdisp.c:21752), and the problem is gone away. But my fonts are clipped (not a surprise). But, it fixed the consolas case as well, and I don't see any clipping with this font. Maybe overlapping detection is too strict (I mean, emacs considers cases overlapping which are close to overlapping, but they aren't)? Or maybe I just don't notice the clipping.
[Prev in Thread] | Current Thread | [Next in Thread] |