Subject: bug#59265: 27.1; emacs apparently redraws the entire X window for every update

From: Eli Zaretskii <[email-masked]>
Date: Tue, 15 Nov 2022 15:30:57 +0200

> From: Francesco Potortì <[email-masked]>
> Date: Mon, 14 Nov 2022 17:39:20 +0100
> 
> This bug report is vague, because I don't know the details yet, but I should be able to produce them later.
> 
> When using a remote window using Xpra (which is more or less equivalent to Screen for X, see xpra.org) the amount of information sent by Emacs is huge, apparently redrawing the entire window at every keystroke.

Emacs redraws only the minimum that is required to update its windows
on the glass.  It actually compares the current window contents with
the desired contents, and redraws only where they differ.  This should
result in very small updates, and the only situation for which I can
imagine Emacs updating the entire frame is when the whole frame is
different, or it was obscured by another window, or something similar.

If all you do is type one character, basically only that character's
line will be redrawn, in some case even less.  As an extreme example,
if the line's contents was

   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

and you type "y" in the middle, you should see one "x" redrawn as "y",
and one "x" drawn at the end of the line, and that's all.

Of course, there could also be updates of other parts of the Emacs
display, such as the mode line.  For example, if you have
column-number-mode enabled, typing a character will also update the
mode line.  But again, it should only redraw a small part of the mode
line near the column number.  Likewise, if what you type affects the
tyool bar or the menu bar, these will be redrawn.

One thing I can suggest to try is disable double-buffering.  I have no
idea what it can do with Xpra (since I don't really know how does Xpra
do its job, whatever that is).