emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Terminal matrices


From: Eli Zaretskii
Subject: Re: Terminal matrices
Date: Sun, 19 Jan 2025 11:28:55 +0200

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: Emacs Devel <emacs-devel@gnu.org>
> Date: Sun, 19 Jan 2025 09:58:09 +0100
> 
> Good, but to achieve this, combine_updates creates a second pair of
> glyph matrices in addition to the existing frame matrices, which I've
> called terminal matrices. These terminal matrices are created the first
> time combine_updates finds a visible child frame that must be displayed,
> 
> >From then on, terminal matrices are used for the update by setting the
> frame's current and desired matrix to the terminal matrices. After the
> update things are restored to "normal".
> 
> What is displayed on the terminal in found in the terminal current
> matrix, and what should be displayed is in the terminal desired matrix.
> And there's the rub: the construction of the terminal desired matrix
> _requires_ that I copy the frame desired matrix to the terminal desired
> matrix (the part that is enabled_p). That includes a memcpy of the
> glyphs. And in the worst of all cases, say when using my full-screen
> eMacs on MacOS :-), this is in bytes on my arm64
> 
>   (* (frame-width) (frame-height) 56)
>   743008
> 
> It's not that it is always so much, usually it's probably much less, but
> anyway. And it is _unavoidable_ to achieve the independence of the rest
> of redisplay. At least I have no idea how to avoid it. Let me say it
> that way.

How much time does it take to memcpy the above amount of glyphs?

Can we avoid doing that unless there are in fact child frames?

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]