Some considerations
Martijn Sipkema
msipkema@sipkema-digital.com
Mon, 5 Jan 2004 16:57:02 +0100
[...]
> 2) that of catching applications at intermediate states, where
> they have not finished re-rendering their presentation. Without
> application knowledge, there is no way for the compositing manager
> to know when it is "safe" to composite the results onto the screen.
> Without this knowledge, there is no way for an external agent to
> "get the right answer".
>
> This is soluble by some amount of coordination between the
> application and the compositing manager.
>
> I think, though am not entirely sure (the proof will be in
> the implementation) that we can use the existing X Synchronization
> extension to provide this coordination between clients and the
> composting manager. When an application is "done" with a frame
> and idle, it can increment a counter and await the compositing
> manager further incrementing the counter before proceeding, or
> a scheme like this.
For OpenGL rendering the flush command could be used for this; one
shouldn't call flush in the middle of drawing though I suspect some
applications may... For X11 drawing the flush isn't sent over the wire,
is it?
--ms