very bad, and very weird, scrolling text performance xorg 1.5.3 intel 2.5.1 GM965

Jeffrey W. Baker jwbaker at
Sun Dec 14 13:02:06 PST 2008

I just "up"graded to more recent bits, namely xorg 1.5.3 and intel
driver 2.5.1 on GM965 rev 0c, and linux 2.6.28-rc8, all from Ubuntu 9.04
development packages.  I noticed that scrolling text performance in
xterm, gnome-terminal, and xfce4-terminal is incredibly bad.  Slideshow
bad.  You can see for yourself in this video:

I ran some tests with the output of find /, which produces 339208 lines
of output on my system.  With output to /dev/null, this takes 1.0
seconds.  With output to an 80x24 xfce4-terminal, this takes 2m33s.
Output to 80x48 xfce4-terminal required 9m24s, so the speed is worse
than linear in terms of pixels in the window.  Xterm took about the same
time (although xterm barely manages to paints anything during the test),
as did gnome-terminal.  Using compiz or metacity made no difference.

Now for the weird part.

In the presence of another terminal echoing blank lines in a loop,
output to 80x24 xfce4-terminal requires only 9s, a reduction of 94% from
the case of a single 80x24 terminal acting alone.  An 80x48 terminal
needs the same 9s, or sixty times less than one 80x48 terminal by
itself.  An 80x66 terminal needed 53s to accomplish the task in the
presence of the echo window.

This strange trick only works for pairs of xfce4-terminal windows.
gnome-terminal and xterm are slow regardless, and other apps like
glxgears can't be used to speed up xfce4-terminal.

It seems to me -- and this is just a hunch -- that the generally
unsatisfactory performance might be resulting not from just slowness,
but from some kind of delay or scheduling problem that can be worked
around or avoided by having the fast drawing second terminal on the
screen.  And I would also stress that it's not just scrolling windows
that are slow: raising and lowering windows, watching videos, and using
Firefox are all pretty miserable experiences right now.

My xorg log is attached.  My xorg.conf is all defaults.  Any help in
solving this mystery (or ignoring the mystery and just giving me the
secret config directive for higher performance) appreciated.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log
Type: text/x-log
Size: 27201 bytes
Desc: not available
URL: <>

More information about the xorg mailing list