On Wed, 20 Dec 2000 [EMAIL PROTECTED] wrote:
> b) use ggiCrossBlit together with a memory target. this replaces the
> call to ggiPutBox. this seems to be as fast as ggiPutBox provided
> the memory target has the same depth as the actual target, so it
> satisfies (2). since i can ggiPutPixel to the memory target, it
> *almost* satisfies (1), because i still have to call a ggi function
> for every pixel on the memory buffer.
> for my purposes, it actually seems that both options are equivalent if
> i cache the void* buffers for ggiPutBox. with option (a), there will
> be one call for mapping colors per pixel. with option (b), there will
> be one call for putting pixels per pixel. tough decision, and i
> actually have no idea which one will be faster, although i guess it
> will be (a), because the function calls are within the same library,
> but that is a wild guess.
You are missing that, when you do a setmode on the memory visual,
you can choose your bit depth, and that the memory target uses
commonsense defaults for the pixel format. So you will know exactly
what format the memvisual is in, and you do not have to putpixel there,
you can use directbuffer, and this is one of the rare cases where
you are guaranteed to be able to use directbuffer. If you choose
the memvisual in a high bitdepth, say 32, you would be able to do
lots of hi-res graphics which will be squashed down to the actual
bitdepth of the real visual... but even with anti-aliased fonts,
16-bit should do just fine. > 16-bit display users won't notice the
difference.
--
Brian