Difference between CompositeRedirectManual and CompositeRedirectAutomatic
Adam Jackson
ajax at nwnk.net
Thu May 25 16:32:15 PDT 2006
On Thursday 25 May 2006 15:05, Carlos Eduardo Rodrigues Diógenes wrote:
> Hi,
>
> Can someone explaim what is the difference between
> CompositeRedirectManual and CompositeRedirectAutomatic? I read the
> CompositeExt protocol, but from the informations there I can't
> realize/understand the differences.
In normal uncomposited X rendering, window drawables have their storage
physically allocated in the front buffer (ie, the pixels scanned out on
screen). This is managed through relatively straightforward clip list
management; when a window is partially occluded, those bits are lost, and
when they are subsequently exposed the application has to redraw them.
When a compmgr enables automatic redirection for a subtree, the server's
rendering algorithm changes. Window drawables are pulled out of the front
buffer and into backing pixmaps; rendering to these pixmaps is done
unclipped, and a list of damage is accumulated; this damage is periodically
(at BlockHandler time) flushed to the front buffer.
Alternatively, the compmgr can enable manual redirection. Windows are still
redirected to offscreen pixmaps, but the server does not internally track
damage for them, nor automatically flush updates to the screen. Instead, the
compmgr registers damage listeners for each window it's interested in using
the X Damage extension to the protocol, and is responsible for periodically
updating the screen itself.
Automatic redirection is also used internally when the visuals differ between
parent and child windows. You can mostly ignore this case for now.
- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20060525/c2fff95e/attachment.pgp>
More information about the xorg
mailing list