GNOME Bugzilla – Bug 120401
VTE slow to refresh when scrolling up with less
Last modified: 2006-02-11 18:41:16 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.
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.
Created attachment 20700 [details] [review] Not quit correct patch
Adding patch keyword, even if this patch is not perfect, according to Owen.. BTW, this patch works fine for me :)
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..
*** Bug 115149 has been marked as a duplicate of this bug. ***
In 115149 there are two patches which do not fix this, but help... Make as much of this as you can.
Any movement on this issue? Should the partial fixes be applied?
*** Bug 156935 has been marked as a duplicate of this bug. ***
See also bug #164153.
*** Bug 168212 has been marked as a duplicate of this bug. ***
I think this can be considered as fixed with the latest releases of VTE?
For me it's okay with vte 0.11.14. A report from the original submitter would be appreciated, though.
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
*** Bug 320809 has been marked as a duplicate of this bug. ***
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.