Subject: Re: More on rcons performance woes: pmax profiling
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: tech-kern
Date: 03/02/1999 11:15:12
> Isnt rcons doing jump-scroll already? it sure looks like it is, when I
> do a cat to /dev/rcons whilst running X on the same display.
> Or do you mean trying to  jump-scroll multiple lines?

I think he almost certainly means the latter.

BTW, I'll distinguish between three types of scrolling.

For purposes of this message, the nomenclature I'll use is:

     smooth scroll:	pixel-line-at-a-time.
			N blits per line of text
     normal scroll:	one screen line at a time.
			one blit per line of text
			I think the vt100 setup menus called this 
			"jump scroll".
			xterm does this when "jump scroll" is disabled.
     jump scroll:	multiple screen lines at a time. 
			one blit for several lines of text, if the
			driver gets that much at a time.
			xterm calls this "Jump scroll"
			
Nobody sane does true smooth scroll with software blits.

Note that, in particular, xterm does jump scroll by default (the
option is selectable in the menu popped up by control-middle), which
is likely one of the reasons why it's faster than rcons, and makes
simple xterm-vs-rcons benchmarks .. suspect.

For instance, to use your benchmark in an 80x25 xterm in fixed font on
a shark:

jump scroll takes:
% head -1000 /usr/share/misc/termcap: 0.03s user 0.06s sys 0.56s wall
normal scroll takes:
% head -1000 /usr/share/misc/termcap: 0.01s user 0.08s sys 8.18s wall

which is a factor of 16 difference in wall time.

The existing wscons emulations could probably be made to do jump
scroll without much in the way of interface changes (you'd probably
want to increase the number of characters pushed down through the
output routine at a time; the current count of ~128 is a bit on the
small side to get much real benefit); currently, it just does normal
scrolling.

					- Bill