Subject: 23.2; Scrollbars slow emacs down

From: DPX-Infinity <[email-masked]>
Date: Tue, 15 Jun 2010 13:23:49 +0400

Steps to reproduce:
 - Launch emacs if it is not launched
 - Toggle scrollbars mode if it is turned off
 - Open new buffer or empty file and try to type something
You'll get a latency between key press and text output. If you
hold the key, this behaviour will be more noticeable. Opening a file
which fills even a half of the window helps. This happens either when
scrollbar is on the right side or on the left. Turning scrollbars off helps.

First, this problem appears only in large windows, 200x80 symbols or
so. Second, it depends more on window height than on width: when
you split the window horizontally, this effect is reduced, but vertical
split does nothing. Third, the more the amount of text is in the
window, the better the performance is. It seems, that it depends not
only on one window, but on all windows that are on the screen now: e.g.,
if you split window and load some file which fills one of the windows,
you'll notice that this effect is reduced. Finally, if you turn off
scrollbars mode this problem completely vanishes: text typing becomes as
smooth as always. I also haven't met this behaviour in older
versions. I don't remember when exactly this behaviour started, but it
certainly was normal in 22.x branch.

In GNU Emacs 23.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.0)
 of 2010-05-08 on pidsley.hoetzel.info
Windowing system distributor `The X.Org Foundation', version 11.0.10706000
configured using `configure  '--prefix=/usr' '--sysconfdir=/etc'
'--libexecdir=/usr/lib' '--localstatedir=/var'
'--mandir=/usr/share/man' '--without-sound' '-with-x-toolkit=gtk'
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
-fno-optimize-sibling-calls' 'LDFLAGS=-Wl,--hash-style=gnu
-Wl,--as-needed''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ru_RU.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  global-linum-mode: t
  jabber-activity-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x b e s d <return> d d d d d d d d d d d d M-x s
c r o l l <tab> <tab> b <tab> m <tab> o <tab> <return>
s d d d d d d d d d d d d d d d d d f c c c c c c c
c c c c c c c c c c c c v v v v v v v v v v v v v v
v v v M-x s c r i <backspace> o l l <tab> b <tab> <tab>
C-c m <tab> o <backspace> m o d <tab> <return> d d
d d d d d d d d d d d d d d d d d d d r e M-x r e p
o l <tab> <backspace> r <tab> <return>

Recent messages:
Loading /usr/share/emacs/site-lisp/haskell-mode/haskell-site-file.el
(source)...done
Loading paren...done
Loading /usr/share/emacs/site-lisp/themes/color-theme-example.el (source)...done
Loading /usr/share/emacs/site-lisp/themes/color-theme-example.elc...done
Loading /usr/share/emacs/site-lisp/themes/color-theme-library.el (source)...done
Loading /usr/share/emacs/site-lisp/themes/color-theme-library.elc...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list... [4 times]

Load-path shadows:
~/.emacs.d/linum hides /usr/share/emacs/23.2/lisp/linum

Features:
(shadow sort mail-extr message idna sendmail regexp-opt ecomplete rfc822
mml mml-sec password-cache mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util
netrc mm-util mail-prsvr gmm-utils mailheader canlock hashcash
mail-utils emacsbug help-mode view preview-latex tex-site auto-loads
linum easy-mmode jabber jabber-awesome jabber-osd jabber-wmii
jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison
jabber-screen jabber-socks5 jabber-ft-server jabber-si-server
jabber-ft-client jabber-ft-common jabber-si-client jabber-si-common
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway time-date
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar mailcap jabber-activity jabber-watch jabber-modeline
advice help-fns advice-preload jabber-ahc-presence jabber-ahc
jabber-version jabber-ourversion jabber-muc-nick-completion hippie-exp
comint ring jabber-browse jabber-search jabber-register jabber-roster
format-spec jabber-presence assoc jabber-muc jabber-newdisco
jabber-widget jabber-disco jabber-chat ewoc jabber-history
jabber-chatbuffer jabber-alert jabber-iq jabber-keymap jabber-core
jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-logon
sha1 hex-util jabber-conn srv dns starttls tls jabber-xml xml
jabber-menu jabber-autoloads jabber-util color-theme-tango color-theme
easymenu wid-edit cl cl-19 windmove delsel saveplace paren cus-start
cus-load cyril-util tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode
register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
loaddefs button minibuffer faces cus-face files text-properties overlay
md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)