Subject: Re: wsdisplay on vesafb is slow
To: None <current-users@netbsd.org>
From: Christian Biere <christianbiere@gmx.de>
List: current-users
Date: 12/21/2006 17:49:08
Jeremy C. Reed wrote:
> I am using:
> 
> options        KVM86                   # required for vesabios
> vesabios*      at vesabiosbus?
> vesafb*        at vesabios?
> options        VESAFB_WIDTH=1024
> options        VESAFB_HEIGHT=768
> options        VESAFB_DEPTH=16
> options        VESAFB_PM               # power management support
> wsdisplay*     at vesafb? console ?
> 
> When at the text console, it displays very slow. If I output a screen full 
> of text, I can watch it type line by line. Maybe two seconds to fill the 
> screen. (It is like I am on a slow serial console.)
> 
> Any suggestions on how to speed this up? Or troubleshoot this?

Switch to a different VT while it prints. ;)
 
> By the way, I also use this under X (since around May) and it is fast 
> enough for me there. Displaying same text in an xterm in X using wsfb with 
> wsdisplay with vesafb is very fast. It just flashes on the screen like I 
> expect.

> Anyone else have very slow text console display?

I don't think it's using bit blitting to speed up scrolling. So basically
it's slow because it copies the whole screen for scrolling one line. Another
trick is to change the frame buffer start address. I believe most terminal
emulators even use sloppy scrolling i.e., they don't print every line or
scroll more than a single line - similar to the nagle algorithm.

I think this copying is just the default implementation and you could
provide your own scrolling functions.

I'd suggest using VESAFB_DEPTH=8 for now. I tried 24 or 32 and then it gets
really slow because obviously it has to copy 2/3/4x as much memory.

-- 
Christian