Thread (4 messages) 4 messages, 3 authors, 2007-07-20

Re: Text console scrolling

flat view

From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2007-07-18 16:09:24

On Wed, 2007-07-18 at 17:10 +0200, Geert Uytterhoeven wrote:
	Hi all,

Yesterday, FBINFO_READS_FAST was faster in some cases, but much slower in
others, so I didn't really know whether I should enable it or not.

Today, FBINFO_READS_FAST is faster in all test cases, so the choice is clear.
The improvement of scroll_move is courtesy of Ondrej's smart blitter
patch. Basically, it only does an actual move if the content of the
source is different from the destination.  If the source == destination,
the actual move is skipped.
 
Note that there are still a few cases where today's fastest option is a bit
slower than yesterday's fastest option.
All things equal, the speed of the smart blitter will depend on:

1. the amount of text to be scrolled;
2. the difference of the content of the screen to be scrolled and of the
contents of the screen to be scrolled into; and 
3. the amount of time the cpu spends for the comparison.

The less different the contents, the more the smart blitter will speed
up (because less characters are actually moved). If the contents are
totally different, then the blitter spends as much time as the old
(dumb) blitter plus the time spent on the compare. 

For the old (dumb) scroll_move, the scrolling speed is only dependent on
the amount of text to be scrolled. No cpu time is spent on the compare.

For the most common usage (screen has lots of whitespaces and blank
lines), I bet the smart blitter will perform very well.

Tony



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help