Subject: Re: bug#72960: 31.0.50; PGTK Wayland exhibits more lag than X11 version

From: "Stephane Travostino" <[email-masked]>
Date: Tue, 03 Sep 2024 12:27:09 +0100

On Mon, 2 Sep 2024, at 13:12, Stephane Travostino wrote:
> On Mon, 2 Sep 2024, at 13:05, Eli Zaretskii wrote:
>>> Date: Mon, 02 Sep 2024 10:18:03 +0100
>>> From: "Stephane Travostino" <[email-masked]>
>>> 
>>> Heavy operations, such as scrolling back and forth in a buffer, are
>>> noticeably laggier, for lack of better word, in the PGTK/Wayland version
>>> than the X11, both tested on KDE in Wayland mode. 
>>> 
>>> Affects both 29.2 and the latest HEAD compiled a few days ago.
>>> 
>>> I am unsure whether it is a KDE or Emacs problem.
>>> 
>>> Running on an AMD RX 6800 XT graphics card on a HiDPI 4k screen at 2x
>>> scaling.
>>
>> AFAIU, this is a problem with GTK input methods.  From PROBLEMS:
>>
>>   *** Emacs built with GTK lags in its response to keyboard input.
>>   This can happen when input methods are used.  It happens because Emacs
>>   behaves in an unconventional way with respect to GTK input methods: it
>>   registers to receive keyboard input as unprocessed key events with
>>   metadata (as opposed to receiving them as text strings).  Most GTK
>>   programs use the latter approach, so some modern input methods have
>>   bugs and misbehave when faced with the way Emacs does it.
>>
>>   A workaround is to set GTK_IM_MODULE=none in the environment, or maybe
>>   find a different input method without these problems.
>
> Thank you, though without more scientific methods of measuring latency 
> I can't tell if that helps or not. 
>
> I noticed I had pixel precision scrolling mode on and that contributed 
> a large part to that feeling of lag compared to other programs. If 
> Firefox is able to smooth scroll at 60 Hz, I would say empirically 
> Emacs PGTK would scroll at 15 Hz, making navigation in the buffer a 
> choppy affair.

Update: GTK_IM_MODULE=none does not make it any less laggier. It is mostly felt in typing and editing source code, and switching to the X11 build makes it immensely snappier and doesn't feel like I'm working through a remote connection.

FYI there are other reports online of people noticing major latency in HiDPI mode with the PGTK version, especially when the frame is fullscreen (so there's more pixels to update):  

https://old.reddit.com/r/emacs/comments/ucv0at/awful_performance_with_pgtk_on_wayland/

https://old.reddit.com/r/emacs/comments/1acdieh/pgtk_emacs_high_input_lag_at_large_frame_sizes_on/