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 120401 - VTE slow to refresh when scrolling up with less
VTE slow to refresh when scrolling up with less
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
0.11.x
Other Linux
: Normal normal
: ---
Assigned To: VTE Maintainers
VTE Maintainers
: 115149 156935 168212 320809 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2003-08-21 17:26 UTC by Frederic Crozat
Modified: 2006-02-11 18:41 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
Not quit correct patch (4.73 KB, patch)
2003-10-14 16:15 UTC, Owen Taylor
none Details | Review

Description Frederic Crozat 2003-08-21 17:26:58 UTC
This is a follow-up of http://qa.mandrakesoft.com/show_bug.cgi?id=4131 :

in a gnome-terminal: 

1) make terminal a bit larger (e.g. 90x60 chars)
2) run less on a longer file
3) scroll some pages using page down
4) scroll some pages up again using page up

You'll see that the terminal scrolls the lines to the bottom of the terminal,
putting the content of the top most line in every line.
Comment 1 Owen Taylor 2003-10-14 16:14:43 UTC
This one is driving me batty ;-(. 

Less generates a sequence like:

ESCM <first line scrolled in>
ESCM <second line scrolled in>

When scrolling backwards; That is, it scrolls once per line.

The problem is that  if you call gdk_window_scroll() multiple
times in succession without processing pending updates, then 
you'll scroll invalid contents over the screen.

I'll attach my attempt at fixing it:

 - Makes vte_terminal_scroll_region() call 
   gdk_window_process_updates() before gdk_window_scroll()

 - Moves calls to vte_terminal_scroll_region() that might
   trigger gdk_window_process_updates()  *before* updating
   the terminal state. This is necessary, since otherwise
   the call to gdk_window_process_updates() will process
   the invalid areas in the old position with respect
   to the new terminal state.

The problem fixes the less issue, however there is something
not quit right with it; if you hold down the return key in
bash you sometimes get blank lines. The lines are still
blank on exposes, so something is getting screwed up in the
scrollback buffer, it's not just an expose problem.
  

Comment 2 Owen Taylor 2003-10-14 16:15:17 UTC
Created attachment 20700 [details] [review]
Not quit correct patch
Comment 3 Frederic Crozat 2004-01-15 17:17:37 UTC
Adding patch keyword, even if this patch is not perfect, according to
Owen..

BTW, this patch works fine for me :)
Comment 4 Frederic Crozat 2004-02-20 17:38:03 UTC
Hmm, I spoke too soon, I am endeed seeing the refresh problem you
talked about : see http://qa.mandrakesoft.com/show_bug.cgi?id=7120 for
more details..
Comment 5 Mariano Suárez-Alvarez 2004-05-10 05:52:03 UTC
*** Bug 115149 has been marked as a duplicate of this bug. ***
Comment 6 Mariano Suárez-Alvarez 2004-05-10 05:53:00 UTC
In 115149 there are two patches which do not fix this, but help... Make as much
of this as you can.
Comment 7 Kjartan Maraas 2004-10-18 09:44:55 UTC
Any movement on this issue? Should the partial fixes be applied?
Comment 8 Mariano Suárez-Alvarez 2004-12-03 00:25:07 UTC
*** Bug 156935 has been marked as a duplicate of this bug. ***
Comment 9 Egmont Koblinger 2005-01-15 10:53:07 UTC
See also bug #164153.
Comment 10 Kjartan Maraas 2005-03-03 11:55:48 UTC
*** Bug 168212 has been marked as a duplicate of this bug. ***
Comment 11 Kjartan Maraas 2005-08-29 12:08:06 UTC
I think this can be considered as fixed with the latest releases of VTE?
Comment 12 Egmont Koblinger 2005-08-29 12:43:16 UTC
For me it's okay with vte 0.11.14. A report from the original submitter
would be appreciated, though.
Comment 13 Thomas M Steenholdt 2005-09-09 09:38:27 UTC
page up in less works a lot better, but overall performance still seems to be
baaaad compared to other terminal implementations...

in maximized gnome-terminal :
"time find /usr -print0" takes ~ 55 seconds to complete on my system

th same test in either xterm or konsole takes ~ 16-17 seconds
Comment 14 Olav Vitters 2005-11-20 14:10:01 UTC
*** Bug 320809 has been marked as a duplicate of this bug. ***
Comment 15 Behdad Esfahbod 2006-02-11 18:41:16 UTC
My recent throttling patch should be enough to close this as FIXED.  I'm interested in hearing numbers from people here.  In my experience, ls -R /usr/lib came down from around 6s to 2s in gnome-terminal.