[cairo] XDBE

Bill Spitzak spitzak at d2.com
Tue Nov 22 21:12:18 PST 2005



Keith Packard wrote:

>>I agree. It would be nice if *all* backing copies went to the same area, 
>>no matter how they are created. Ignore any minor glitches (ie I think 
>>the composite extension could show partially-updated backbuffer, just 
>>try to avoid recompositing except when a program sends the 
>>back-buffer-swap command).
> 
> 
> Most apps that 'double buffer' do it themselves with a separate pixmap;
> it's more portable, and gives reliable results. This makes solving the
> DOUBLE-BUFFER case a lot less interesting.

I am mostly interested in getting XDBE, the OpenGL backing buffer, the 
composite extension, and any others all into the same buffer. Another 
way of looking at this is that if all windows are effectively double 
buffered, then all attempts to create a double buffer should turn into 
no-op's, yet appear to work to the program calling them.

It may be possible to detect programs using pixmaps as backing buffers. 
If the pixmap is the same size as the window and a copy-area is done 
from it to the window, then that pixmap should become the backing buffer 
and the copy-area is the update signal to rerun the composite. Attempts 
to draw to the window and not the pixmap would split this apart and 
create a normal backing buffer for the drawing.


More information about the cairo mailing list