2012-03-22 32 views
1

我使用XComposite扩展来获取在开发的某种窗口管理器下运行的窗口的内容。我发现,在许多情况下,如果我尝试使用XCompositeNameWindowPixmap在映射和重定向后不久创建的像素映射来获取窗口的内容,我会从像素图中获取垃圾图像。稍后再调用一次,可以得到完美有效的窗口图像。来自xcomposite pixmap的垃圾图像

我的假设是,它需要一些时间来初始填充像素图。不幸的是,我无法量化需要多长时间才能获得正确图像。

有什么方法可以确定是否可以使用合成像素图吗?或者还有什么可能会导致这种奇怪的效果?

回答

2

你现在遇到的情况是,在重定向一个窗口之后,程序必须重新绘制窗口的内容,这些内容在重定向后不会立即可用。

这是Damage扩展进入舞台的位置,它允许客户通知其他客户端其窗口内容已更新。