[Xcb] double buffering
Barton C Massey
bart at cs.pdx.edu
Wed Aug 23 15:02:58 PDT 2006
In message <200608231220.20354.hto at arcor.de> you wrote:
> On Tuesday 22 August 2006 05:00, Barton C Massey wrote:
> > Someone in the X community probably needs to build a
> > library to handle all the various ways double-buffering
> > can be done in a coherent fashion. Jamey's opinion
> > though, with which I concur, is that this should be a
> > separate fd.o project.
>
> Does that mean that there is no "preferred" way for double
> buffering? So far I see two ways if dbe is deprecated:
>
> 1) Rely on the composite extension and a composite client to
> redirect my drawing to off screen storage. Then send
> damage reports after redrawing.
>
> 2) Create background pixmap.
Off the top of my head, I think the "preferred" solution, if
there is one, is to do (1) if possible (server has Composite
and a running compositing agent), fall back to XDBE if (1)
is impossible (so we need the XCB extension), otherwise fall
back to Multi-Buffering if we can (so we need the XCB
extension), otherwise fall back to (2). The problem with
this solution, of course, is that it's insanely complex,
which is why I think it should be encapsulated in a separate
library.
> Problem: When should I free
> the pixmap? Is there a way to create "soft-allocated"
> pixmaps which the server can claim when it needs space?
> I cannot find anything in the protocoll.
Beats me. I would probably just keep the pixmap allocated
as long as the window is allocated---how complicated do you
want to get? :-)
> p.s. is this the wrong mailing list for this discussion?
I think it's fine, although the core X.org folks might have
more insight than we do into some of this...
> I found some related threads which did not really answer
> the question of double buffering:
>
> "[Xorg] Damage/Composite + direct rendering clients"
> http://lists.freedesktop.org/archives/xorg/2004-May/thread.html#614
>
> "Does composition render double-buffering useless?"
> http://lists.freedesktop.org/archives/xorg/2006-July/thread.html#16683
Interesting stuff. Thanks for the refs!
Bart
More information about the Xcb
mailing list