Multibuffer extension gone

Roland Mainz roland.mainz at nrubsig.org
Tue Jan 4 16:26:07 PST 2005


Deron Johnson wrote:
> >>>After failing to use the DBE (double buffer extension) I tried my luck
> >>>with the Multibuffer extension. This works on Solaris and other kinds
> >>>of unix but not for Xorg anymore as the extension is no longer be
> >>>available. Why was it be removed? Can MBE be restored?
> >>
> >>Looks like Multibuffer was obsoleted/replaced by DBE:
> >>   The Multi-Buffering extension described here was a draft standard of the
> >>   X Consortium prior to Release 6.1.  It has been superseded by the Double
> >>   Buffer Extension (DBE).  DBE is an X Consortium Standard as of Release 6.1.
> >>
> >>Solaris carries around a lot of old extensions in the name of preserving
> >>backwards compatibility.
> > I seem to remember Keith telling me that there were still a few things
> > that Multibuffer could do that DBE cannot.
> >
> > We should understand if work needs to be done in DBE to ensure
> > everything can be done that should be done...
> 
> I was very involved in the implementation and specification of
> Multibuffer. It was eventually abandonned in favor of DBE because it
> didn't address the needs of 3D hardware devices. The device developers
> and theOpenGL community didn't want to deal with the extra hair that
> more than 2 buffers entailed.

Why is that a problem ? Isn't it possible to fall-back to the
non-accerlated codepath if more than two buffers are requested ?

> And the buffer swapping semantics of MBX
> weren't what they wanted.

What do you mean with that exactly ?

> DBE provides a model which is more along the
> lines of what SGI originally put into IrisGL and OpenGL. I have never
> heard of anyone using Multibuffer for a serious application and I would
> be astounded to hear of any application in current use that uses it.

"xanim" uses MULTI-BUFFER. And someone from Sun wrote a patch for
Mozilla to use the MULTI-BUFFER extension instead of the home-grown {
XCreatePixmap(), render() ; XCopyArea() ; XDestroyPixmap();}-sequence
which put some load on the Xserver-side memory allocator (sometimes this
may lead to memory fragmentation at the Xserver side, per Robert
O'Callahan <robert at ocallahan.org> this has been fixed a while ago via
avoiding pixmap destruction if possible. Using the MULTI-BUFFER
extension may still be better (because it's faster and produces less
wire traffic) but unfortuanetly such a patch won't have a chanche
without Xorg having the MULTI-BUFFER extension enabled again).

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)



More information about the xorg mailing list