After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 572210 - scrolling text is slow
scrolling text is slow
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
unspecified
Other All
: Normal minor
: ---
Assigned To: VTE Maintainers
VTE Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-02-17 21:23 UTC by Ian Dalton
Modified: 2015-01-03 14:41 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Ian Dalton 2009-02-17 21:23:28 UTC
Please describe the problem:
http://www.gnome.org/~davyd/gnome-2-14/

says g-t was made able to scroll /usr/share/dict/words in under a second (under 2 with anti-aliased fonts).  I find that with or without anti-aliased fonts, it takes more than 3 seconds, with or without a compositing window manager.  This sounds like a regression.

My /usr/share/dict/words could be different, but http://martin.ankerl.com/2007/09/01/comprehensive-linux-terminal-performance-comparison/ has a reproducible benchmark which takes him .25s and takes me 2.14s.

This is important because terminal scrolling speed can set an upper limit on compiling speed.

Steps to reproduce:
1. open gnome-terminal
2. time cat /usr/share/dict/words

Actual results:
g-t takes a long time to scroll the file

Expected results:
g-t should take a short time to scroll the file

Does this happen every time?
yes

Other information:
Comment 1 Christian Persch 2009-02-17 21:36:47 UTC
-> vte
Comment 2 Rolf Leggewie 2009-07-15 21:48:38 UTC
bug 350015, bug 439247, bug 532816 and bug 572210 all look very much like addressing the same issue.
Comment 3 Egmont Koblinger 2013-11-04 23:31:14 UTC
$ ls -lR --color=always > ~/ls-lR
(the generated file contains 667000 lines for me)
$ time cat ls-lR

xterm (default 6x13 non-AA font):  real 15s
urxvt (default 6x13 non-AA font):  real 3s
vte ("Monospace 8" 6x13 AA font):  real 1m51s

D'oh!
Comment 4 Egmont Koblinger 2013-11-04 23:54:13 UTC
I've increased the three VTE_*_TIMEOUT values in vte-private.h, hoping that by updating less often, it will be faster. It became proportionally slower instead.

I've decreased those values, expecting vte to become slower, but it became faster instead. Nowhere near urxvt, but around 30s which is already a giant win.

Maybe there's a bug that at most X amount of data (maybe at most one read() from the pty) is processed per visual update?
Comment 5 Behdad Esfahbod 2013-11-05 18:49:54 UTC
Humm.  I know years ago I made vte at least as fast as xterm.  Seems that it has regressed since...  We need to take another look at the main loop.
Comment 6 Egmont Koblinger 2014-01-08 17:07:38 UTC
Same file with a few more terminals, at roughly the same font size:

pterm (putty): 10s
st (suckless) 2.5s
terminology (enlightenment) (aa font, blended background): 3s
konsole: 5s (although hardly performs visual updates which is not nice)
Comment 7 Christian Persch 2014-01-08 17:14:14 UTC
We could try to just use the gdk frame clock instead of doing our own update batching.
Comment 8 Egmont Koblinger 2014-01-11 23:24:40 UTC
Apparently it broke shortly after the article (linked above, in which g-t won the speed test) was written. ChPe found the culprit in bug 721944.
Comment 9 Egmont Koblinger 2015-01-03 14:41:02 UTC
Vte is reasonably fast nowadays; closing.