pao at ascent.com
Tue Jan 27 14:30:33 PST 2009
>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.
More information about the xorg