Re: Cullng drawing depending on visibility events
- From: Keith Packard <keithp keithp com>
- To: Owen Taylor <otaylor redhat com>
- Cc: Keith Packard <keithp keithp com>, Soeren Sandmann <sandmann daimi au dk>, Federico Mena Quintero <federico ximian com>, gtk-devel-list gnome org
- Subject: Re: Cullng drawing depending on visibility events
- Date: Fri, 04 Apr 2003 08:53:17 -0800
Around 11 o'clock on Apr 4, Owen Taylor wrote:
> For ultimate efficiency, GTK+ would really like to get
> notification of both additions and subtractions to these
> regions.
I think you can let the X server decide how Rs relates to Rv; any "sane" X
server will set Rs == Rv most of the time. The reason we need to be
careful about visibility events synthesizing expose events is that "weird"
X servers are free to save bits outside of Rv. I would not be surprised
if the cygwin or darwin rootless servers save complete window contents
given their architecture.
This reduces the problem to maintaining Rs in the client. We have +Rs
events today as exposures; having -Rs events (covering events?) would give
us a way to compute Rs asynchronously.
Another possibility is to use VisibilityNotify events to trigger a more
synchronous process for computing Rs; it's easy to get a complete set of
+Rs events by using ClearArea with Background == None. You would do this on
FullyObscured events to discover what portion of the window was maintained
in backing store while obscured. This presumes that the server won't
arbitrarily change the value of Rs for a fully-obscured window, which is
not proscribed by the protocol, but seems a "safe bet".
-keith
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]