[Konsole-devel] [Bug 83890] Scrolling extremely slow when the windows contains broken lines

gsasha at cs.technion.ac.il gsasha at cs.technion.ac.il
Fri Sep 30 17:10:41 UTC 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=83890         




------- Additional Comments From gsasha cs technion ac il  2005-09-30 19:10 -------
>Could you try KDE 3.5?  I also would be interested in hearing if turning off the History helps/fixes these issues.
>
>  
>

Sorry, can't try KDE 3.5 for now - I work on this comp... maybe when the 
RC is out.
Anyway, I wrote a mini-benchmark. It uses the following code in Python:
--------------------
import sys
import string

iters = int(sys.argv[1])
width = int(sys.argv[2])

s = (string.hexdigits * width) + "\n"
ss = s * (iters/width)
print ss
--------------------
Note that the benchmarks does the printing with a single command, 
therefore, there should be no problems with buffering between the python 
process and the console itself.

Here are the results for different parameters (In all the results I show 
the elapsed time).
The first parameter is just the size of the benchmark, and the second 
one determines the width of the printed text (so I run it with something 
like "time python wideprint.py 1000000 1000").

All the runs above were executed with iters=1000000, and varying width. 
The time reported is the value printed by defining "export 
TIMEFORMAT='%R'" in bash.

Width   Output_to_/dev/null  Konsole  Konsole(no_history) xterm
1       0.179                31.556   30.117              148.428  # no 
wrapping
10      0.202                57.264   47.527              37.985   # 
wrapping into ~2 lines
100     0.306                94.222   86.642              37.240   # 
wrapping into ~10 lines      
1000    0.144                81.101   88.994              37.667   # 
wrapping into ~100 lines
10000   0.307                69.729   80.660              37.017   # 
heavy wrapping
100000  0.127                75.450   77.561              37.360   # 
extremely heavy wrapping

What the benchmark shows:

1. A good portion of the 30 seconds is the text rendering time proper, 
as taken by X server.
2. xterm is stupid when printing many short lines, and konsole is GOOD.
3. konsole behaves badly when wrapping starts to happen, and the badness 
increases with the amount of wrapping.
4. History has almost no effect on the konsole's performance.

In addition, the Xterm version *appears* to go fast, i.e., it is 
redrawing the contents of the terminal very quickly. On the other hand, 
the konsole is redrawing very slowly, and pauses for ~0.5 seconds (gc?) 
every couple of seconds.

I watched top during the benchmark, and the interesting thing is, it is 
the X server taking the time when the konsole slows down due to 
wrapping, implying that it's konsole's rendering code that behaves badly 
in this case, and not the wrapping logic per se.


Created an attachment (id=12791)
 --> (http://bugs.kde.org/attachment.cgi?id=12791&action=view)
gsasha-1.vcf



More information about the konsole-devel mailing list