Subject: bug#29737: closed (Re: bug#29737: 27.0.50; pixel-scroll-mode is laggy)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 07 Jan 2018 07:21:02 +0000

Your bug report

#29737: 27.0.50; pixel-scroll-mode is laggy

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29737: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29737
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29737: 27.0.50; pixel-scroll-mode is laggy
From: Eli Zaretskii <[email-masked]>
To: Tak Kunihiro <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sun, 07 Jan 2018 09:19:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sun, 07 Jan 2018 11:06:26 +0900 (JST)
> Cc: [email-masked], [email-masked], [email-masked]
> From: Tak Kunihiro <[email-masked]>
> 
> I think I understood what the laggy meant.  The laggy scroll is slow
> scroll with too frequent redisplay.  If my understanding is correct, I
> am sure this patch fixes the laggy problem.
> 
> I think it is good to avoid the laggy situation.  Thus I think, to
> push this patch to the release branch is a good idea.

I pushed the changes, and I'm marking this bug done.

Thanks.

Subject: 27.0.50; pixel-scroll-mode is laggy
From: Valentin Ignatyev <[email-masked]>
To: [email-masked]
Date: Sun, 17 Dec 2017 03:55:34 +1000
List-Id: <debbugs-submit.debbugs.gnu.org>

================
Hi! I've tried new feature `pixel-scroll-mode` on both emacs-26 and on
master branches. While I see that scrolling became pixel-wise indeed, it
is also very laggy. CPU blows up to 100% and ui hangs and freezes. It
works ok if I scroll slowly though. It happens with all my plugins and
customizations and if I run emacs with -Q flag. My OS is Arch Linux and
I also have HiDPI screen (it's MacBook 11,4, mid-2015). I've also
started this related reddit thread:
https://www.reddit.com/r/emacs/comments/7k7322/pixelscrollmode_wanted/

Thanks a lot for your work, I'd like to give an additional info, but I
don't know exactly what could be helpful.

Cheers, Velentin.
================

In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
 of 2017-12-16 built on vjarch
Repository revision: 506270f9c80bf9bd7dad35a2f0aa6f477da6490b
Windowing system distributor 'The X.Org Foundation', version 11.0.11905000
Recent messages:
Type C-c C-c or C-c C-x to view the image as text or hex.
Can’t guess python-indent-offset, using defaults: 4
Setting up indent for shell type zsh
Indentation variables are now local.
Indentation setup for shell type zsh
Wrote /home/vj/.emacs.d/.emacs.desktop.lock
Desktop: 1 frame, 54 buffers restored.
For information about GNU Emacs and the GNU system, type C-h C-a.
mwheel-scroll: Beginning of buffer [3 times]
Pixel-Scroll mode enabled
pixel-scroll-down: Beginning of buffer
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-sound=alsa --with-xft --with-modules --with-x-toolkit=gtk3
 --without-gconf --without-gsettings --without-gpm --without-m17n-flt
 --without-imagemagick 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
 -fstack-protector-strong -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
 -fuse-ld=gold''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY ACL GNUTLS LIBXML2 FREETYPE
LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES LIBSYSTEMD JSON
LCMS2

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Outline

Minor modes in effect:
  pixel-scroll-mode: t
  diff-auto-refine-mode: t
  projectile-mode: t
  global-company-mode: t
  company-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  ivy-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  evil-leader-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  override-global-mode: t
  global-auto-revert-mode: t
  global-hl-line-mode: t
  desktop-save-mode: t
  cl-old-struct-compat-mode: t
  show-paren-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  view-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail cus-start cus-load pixel-scroll
colir sh-script smie executable conf-mode linum elec-pair vc-git
diff-mode ob-python org-rmail org-mhe org-irc org-info org-gnus nnir
gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rfc822
mml mml-sec epa derived epg mm-decode mm-bodies mm-encode mailabbrev
gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail
rmail-loaddefs mail-utils wid-edit org-docview doc-view image-mode
org-bibtex bibtex org-bbdb org-w3m org-element avl-tree generator org
org-macro org-footnote org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table
ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs
org-loaddefs cal-menu calendar cal-loaddefs view init yaml-mode ag
vc-svn find-dired dired dired-loaddefs projectile grep compile ibuf-ext
ibuffer ibuffer-loaddefs smartparens-config smartparens-javascript
smartparens-text smartparens-python smartparens-markdown
smartparens-html evil-smartparens smartparens virtualenvwrapper gud
company-anaconda anaconda-mode pythonic f python tramp-sh tramp
tramp-compat tramp-loaddefs trampver ucs-normalize parse-time
format-spec company-tern s dash-functional tern url-http tls gnutls
url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw nsm rmc puny url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
company-oddmuse company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-template company-css company-nxml company-bbdb company pcase
rjsx-mode js2-mode js sgml-mode dom cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs imenu markdown-mode
color noutline outline flycheck cl-extra json map find-func help-mode rx
subr-x dash org-bullets counsel jka-compr esh-util etags xref project
swiper ivy delsel ivy-overlay ffap flx evil-surround evil-leader evil
evil-integration undo-tree diff evil-maps evil-commands flyspell ispell
evil-jumps evil-command-window evil-types evil-search evil-ex shell
pcomplete comint ansi-color evil-macros evil-repeat evil-states
evil-core advice evil-common windmove thingatpt rect evil-digraphs
evil-vars ring edmacro kmacro use-package diminish bind-key easy-mmode
finder-inf info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
autorevert filenotify hl-line desktop frameset cl-loaddefs cl-lib paren
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify lcms2
dynamic-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 670270 69821)
 (symbols 48 56909 2)
 (miscs 40 1143 237)
 (strings 32 160583 14753)
 (string-bytes 1 4909395)
 (vectors 16 91715)
 (vector-slots 8 1535197 58450)
 (floats 8 446 340)
 (intervals 56 4061 335)
 (buffers 992 65))