Re: Some considerations
"Martijn Sipkema" <[email protected]>
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <002a01c3d3a4$8f2d8c10$161b14ac@boromir> |
[...] > 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