linux-mips-fnet
[Top] [All Lists]

scrolling

To: linux-mips@fnet.fr
Subject: scrolling
From: Per Fogelstrom <pefo@enea.se>
Date: Mon, 27 Nov 1995 15:32:55 +0100 (MET)
In-reply-to: <199511271330.OAA09014@nil.fnet.fr> from "Luc Beurton" at Nov 27, 95 02:30:09 pm
> 
> I've done some test this week-end too, and I found  that the function 
> gprint_char is not very  slow but the real probleme is the scrolling. So, I 
> try to use the option Top of the screen of the G364 board. The VRAM could be 
> saw  as a circular buffer. I've only tested this way of scrolling on the 
> Hello_World_VMlinux, with only  down scrolling. I think it could be as fast 
> as a text card on my PC.
> So two questions:
> - Can we rely on 2MB of VRAM or is somebody got less with his G364 ? 
> - Paolo, what's new with your 4bpp stuff ? less bpp we can use more this 
> 'circular buffer' will be usefull.
> 
Hmm, have you considered rendering the screen from a text copy of the
screen instead of scrolling? I'm not familiar enough with the G364 but
here are a couple of reasons it may be faster:

        o The read access time to the v-ram can be long enough to
          ruin the performance completely. Optimizing copy loops
          in the driver is just waste of time.

        o Writes to the board might be pipelined so it can sustain
          a greater bandwith than reads.

        o Cached reads clobber the cache even if it's increases the
          read speed some.

        o Uncached reads is a pain if you have to do a lot.....

        o By rendering chars scanlinewise writes to the vram can be
          minimized. And of course optimizing scanline length depending
          on how long the lines are..

        o And many more reasons..

It might be easier to get rerendering working than some kind of hardware
scrolling. Also hardware scroll looses if you want to implement scroll
regions as in VT emulation.
Also, you don't have to consider vram configurations so much.

You could measure the character rendering speed by filling the screen
with N characters without scrolling N times and time it.

Just a thought....

Per

<Prev in Thread] Current Thread [Next in Thread>