save-under support

Patrick O'Donnell pao at ascent.com
Tue Jan 27 14:30:33 PST 2009


Glynn,

>From: Glynn Clements <glynn at gclements.plus.com>
>Date: Sat, 24 Jan 2009 14:53:37 +0000
>
>It has always been the case that a server may or may not honour
>requests for backing store and/or save unders. ... intended as an
>optimisation; ... need to redraw portions of the window in response
>to Expose events.

Thanks for the info.  I'd been aware that backing store and save
unders were optimizations that a server could decline to offer.  They
have been very useful optimizations, though... :-)

>Even if the server does support [them], whether or not it preserves
>contents in specific cases could depend upon factors ...

As I think on your answer, I should have known this.  I did realize it
in some contexts, but the ramifications were, perhaps, not as clear.

>IOW, if neglecting to handle Expose events has worked until now, then
>you just got lucky.

It's not that we're neglecting to handle Expose events, but we've been
depending on the BS and SU optimizations for a long time for
performance.  It takes a great deal of computation to regenerate our
display.  We may have to move to a pixmap drawing type solution such
as you suggest.  (Unfortunately, I can't be absolutely certain at this
point that we're not dropping some Expose events, though, and that's
one thing I need to go check.  The code in question is pretty complex,
though, some of it dating back to the days of X10.)

>... b) use the Pixmap as the Window's background_pixmap (the server
>*may* make a copy of the Pixmap, so you should call
>XSetWindowBackgroundPixmap() whenever you modify its contents).
>
Thanks also for the tip about the server being permitted to copy the
background pixmap.  I hadn't been aware of that one.

>> Second, although, in my searching, I have found mention of "Composite"
>> and "compositing managers", I've yet to find a sufficiently detailed
>> explanation of what compositing is doing and how it is invoked or
>> configured for me to understand how I should be managing our
>> application's windows to make use of it.  Another pointer to a good
>> reference would be appreciated.
>
>I don't know enough about compositing to answer this one.
>

Hopefully, someone with more info about compositing could throw a few
useful links or references my way.

		- Pat



More information about the xorg mailing list