Allen Akin <[EMAIL PROTECTED]> writes:
> | Quick rundown of what I think _is_ interesting:
> |
> | - Store the full contents of all toplevels. Exposes are an
> | obsolete concept from when window contents were simpler and
> | graphics memory smaller.
> |
> | (You may want to discard information if memory gets tight, ...
>
> Unless you're willing to give a strong guarantee (e.g., roughly as
> strong as the one the VM system gives ordinary memory allocations) that
> all toplevels will have backing store, the apps still need to provide a
> mechanism to respond to exposures. Once you have that, it's been my
> experience that the overall performance of the system is maximized by
> giving up backing store and teaching the apps to redraw exposed regions
> efficiently. It may be that the toolkits need more work in the latter
> area.
My opinion here is that we are at the point where there is no
reason a user should ever see a repaint. There are a lot of apps
that are going to have trouble doing that on the fly. (Plus the
app may be busy or swapped out.)
Now of course, you could just put the responsibility for doing
full backing store of toplevels in the toolkit or even the app,
but I think the window system can be smarter about it if it
is knows what is going on. And if it is in the window system,
you can do transparency, thumbnailing of offscreen windows, etc.
> Historical note: Back when X11 was enjoying its first successes and I
> was working at Digital, I asked an SGI engineer how SGI machines were
> able to demonstrate such enormous text scrolling rates. He replied that
> they didn't bother to scroll; they had optimized the system for drawing,
> so they just re-drew the entire window for each frame. :-)
I've long been in the "just redraw it camp". The reason that
I'm deviating from that position now isn't so much that I don't
think it is possible to redraw fast enough ... fill rates have
gone up even more than memory sizes and bandwidth ... it's that
to get a truly _smooth_ appearance you never want to draw a
pixel one way and then fix it up later. And an asynchronous
expose model is incompatible with that.
Regards,
Owen
_______________________________________________
Render mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/render