Miscellaneous TopicsDouble Buffer Extension (DBE)

DBE is an extension to the X server that provides a double-buffering Application Programming Interface (API).

____________________________________________________________________________________

Note: MBX (the Multi-Buffering eXtension to X) has not been adopted as an industry standard, as DBE has. Thus, it is recommended that applications that use MBX be ported to DBE usage in preparation for future MBX obsolescence (HP-UX 11.0). For more information about DBE and the API, consult the DBE man pages:

DBE XdbeQueryExtension XdbeGetVisualInfo XdbeFreeVisualInfo XdbeAllocateBackBufferName XdbeDeallocateBackBufferName XdbeSwapBuffers XdbeBeginIdiom XdbeEndIdiom XdbeGetBackBufferAttributes

____________________________________________________________________________________

Performing Buffer Swaps On Vertical Blank

For performance reasons, the default DBE behavior is to not synchronize buffer swaps with the monitor's vertical retrace period. In some instances, therefore, image tearing (seeing part of the old image and part of the new image on the display at the same time) could be visible while swapping large DBE windows. For those instances where tearing would occur and is undesirable, an optional X server mode is available to allow for synchronization of buffer swaps with vertical retrace. To activate this optional X server mode, set the following screen option in the X*screens File before the X server is started:

SwapBuffersOnVBlank

____________________________________________________________________________________

Note: MBX_SWAP_BUFFERS_ON_VBLANK is obsolete with this release. The SwapBuffersOnVBlank Screen Option works for both DBE and MBX.

____________________________________________________________________________________

Determining Swap Performance

The DBE API does not allow users to determine if double-buffering in a visual is through software or hardware. However, the API does provide a way to determine relative swapping performance on a per- visual basis. The XdbeScreenVisualInfo() function returns information about the swapping performance levels for the double-buffering visuals on a display. A visual with a higher performance level is likely to have better double-buffer graphics performance than a visual with a lower performance level. Nothing

Page 30

Graphics Administration Guide for HP-UX 10.20