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