GNU bug report logs - #51886
29.0.50; pixel-scroll-mode garbage collects like crazy

Previous Next

Package: emacs;

Reported by: Po Lu <luangruo <at> yahoo.com>

Date: Tue, 16 Nov 2021 07:22:02 UTC

Severity: normal

Tags: moreinfo

Found in version 29.0.50

Full log


View this message in rfc822 format

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Po Lu <luangruo <at> yahoo.com>, 51886 <at> debbugs.gnu.org
Subject: bug#51886: 29.0.50; pixel-scroll-mode garbage collects like crazy
Date: Tue, 16 Nov 2021 14:28:23 +0100
>>>>> On Tue, 16 Nov 2021 15:05:32 +0200, Eli Zaretskii <eliz <at> gnu.org> said:

    >> Date: Tue, 16 Nov 2021 15:21:31 +0800
    >> From:  Po Lu via "Bug reports for GNU Emacs,
    >> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
    >> 
    >> Starting from `emacs -Q', do M-x pixel-scroll-mode RET, then configure
    >> it as follows:
    >> 
    >> (setq pixel-dead-time 0)
    >> (setq pixel-resolution-fine-flag 1)
    >> (setq garbage-collection-messages t)
    >> 
    >> Then scroll the display with the mouse wheel.  It will garbage collect
    >> like crazy, leading to a great deal of stuttering (in emacs-28 as well).
    >> 
    >> I want to reuse most of the code in pixel-scroll.el for XInput2 pixel
    >> scrolling, but this is holding me back, as the excessive garbage
    >> collection makes it completely unusable.

    Eli> Did you try to figure out which part of the code produces most of the
    Eli> garbage?

I suspect itʼs the bit that counts from k to n by generating a list of
the integers from k to n and then running dolist over that.

As an aside, that code also does a lot of (sit-for 0), which I seem to
remember can trigger redisplay? Perhaps it should only do that when it
really wants to pause.

Robert
-- 




This bug report was last modified 1 year and 160 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.