我正在使用XComposite扩展来获取在我开发的一种窗口管理器下运行的窗口内容。我发现在很多情况下,如果我尝试使用在XCompositeNameWindowPixmap创建的像素图来获取窗口的内容,在映射和重定向后不久,我会从像素图中获取垃圾图像。稍后相同的调用给出了完美有效的窗口图像。
我的假设是最初填充像素图需要一些时间。不幸的是,我无法量化在获得正确的图像之前需要等多少时间。
有没有办法确定合成的pixmap是否可以使用?或者还有什么可能导致这种奇怪的效果?
答案 0 :(得分:2)
您所遇到的是,重定向窗口后,程序必须重新绘制窗口的内容,重定向后才能重新显示。
这是Damage扩展进入舞台的地方,允许客户通知其他客户,他们的窗口内容已经更新。