In reply to Andreas Beck <[EMAIL PROTECTED]>
>
>> i will normally have an array where array[row][col] is the index of some
>> color. do i blit? do i simply ggiPutPixel every time?
>
>No - Putpixel has a large calling overhead, Try at least using the boxed
>functions if possible (which it should for a Terminal - this might differ 
>for a wordprocessor or some such which does Kerning ...).
>
>This saves the overhead of 127 function calls for the average 8x16 font.

yeah, that is a lot, and i really want to get rid of the overhead. the
only problem with ggiPutBox is that i cannot control the color (or can
i?). since i'm writing a color terminal, the bitmap for, say, "a" will
in principle have to be rendered in all supported combinations of
foreground/background colors. hm...  16x16=256 possible combinations.
8x16 font=128 pixels. truecolor, 256 bytes per bitmap. counting
colors, i suspect i would need to allocate, in principle, up to 64k
for each single glyph. for a set of 128 glyphs, that would mean 8M for
bitmap caching!!!

or is there a fast way to copy boxes with color translation?

>> right now i'm ggiPutPixel'ing for every character. it is slow,
>> specially in x11. for pure scrolling i've tried ggiCopyBox, but it is
>> very very very slow in the framebuffer.
>
>This is strange. What kind of framebuffer ? There might be a few buffers
>that suffer heavily from _reading_ them, but usually it should be pretty
>quick.

i use an old tecra, vesa fb. i think i'm reaching its limits with this
terminal.

>For scrolling the best things to do are 1. using a larger virtual size
>and ggiSetOrigin and/or ggiSetSplitline . 2. using CopyBox and
>3. Reblitting everything.

1. not possible with my fb
2. is, for some reason, incredibly slow.
3. not sure if i understand. if you mean redrawing each character
cell, that's exactly what i'm doing right now.

--
Cesar Augusto Rorato Crusius    __o      __o      __o      __o      __o    
Stanford University           _`\<,    _`\<,    _`\<,    _`\<,    _`\<,    
e-mail:[EMAIL PROTECTED]    (_)/(_)  (_)/(_)  (_)/(_)  (_)/(_)  (_)/(_)   
www.stanford.edu/~crusius
                                       o      _     _         _
   __o      __o      __o      __o     /\_   _ \\o  (_)\__/o  (_)
 _`\<,    _`\<,    _`\<,    _`\<,    _>(_) (_)/<_    \_| \   _|/' \/
(_)/(_)  (_)/(_)  (_)/(_)  (_)/(_)  (_)        (_)   (_)    (_)'  _\o_

He who sacrifices functionality for ease of use
Loses both and deserves neither

Reply via email to