[interfacekit] Re: PortThief

>Something that occured to me:  where does calling the various graphics 
>driver hook functions come into this?  Given that they are surely used, 

>it seems more likely that the current app_server clips the drawing 
>commands and then calls the driver add-on (or some intermediate proxy) 
>to do the rendering -- either through accelerated functions or straight 

>to the frame buffer as necessary -- as opposed to rendering to a bitmap 

>and blitting a clipped region to the framebuffer.

Seemed logical to me at first: the hooks are there in
the driver -- errr, accelerant -- API, thus there's a huge
chance that the app_server is making use of those fast_blit(),
fast_fill_rect() ..etc hooks that provide accelerated drawing
in hardware to alleviate the CPU load,   thus there's a fair
chance we should do the same, too.

But then GM talked to me about all this XFree stuff, how
we might want to avoid as much as possible doing too
many calls to the X11 layer which is so slow, but rather
do as much stuff internally (on an off-screen bitmap)
as fast as possible and then call the slow XServer
exactly once, with the pre-rendered BView.
  His reasoning was, "the HW acceleration is probably not
critical anyway, and SDRAM is very fast even when compared
to SG RAM, and see applications like Netpositive: they
do some off screen bitmap drawing, i.e. they draw
into the SDRAM and thus cannot benefit from hardware
acceleration, and yet they display fast!".

But then again I realized this very last argument
is backwards (or rather, "orthogonal" 8-): N+ does
the offscreen rendering _once_, and subsequently just
blits the bitmap when you scroll the window. If it was
doing the rendering constantly it'd be excruciatingly slow.
So bottom line, rendering into offscreen bitmaps is for
specific cases when you have some "static" graphic
content (not changing much or at all), and should not be
implicitely forced onto all apps but left to them to do
explicitely or not depending on their needs.

Back full circle :-). This time I won't change my mind again
though.


>>app_server from the rendering junk internals. I'll keep everyone 
posted 
>on my 
>>progress on the graphics crap.

Graphics is _not_ crap =)   Gotta like what you do so
that what you do roxors!

--
http://cdegea.free.fr/ | BeDev E-16870
"One thing to rule them all" -- UserFriendly.org, 20011021



Other related posts: