首先,是避免放大镜对桌面进行双重绘制。9 个月前,GNOME 的开发者发现放大镜不会隐藏未放大的桌面,而只是在其顶部绘制。这种情况下,“未放大桌面” 是克隆源,“放大桌面” 是克隆,两者若同时绘制显然会降低性能。现在,该问题已被修复,放大镜会避免绘制被克隆完全遮挡的桌面,并已合并到 GNOME 41。
此外,GNOME 统一了 Mutter 中所有平面类型的缓冲区管理。现在对 MetaDrmBuffer 的引用更接近实际使用对象的位置,并且每个 MetaKmsCrtc 持有它将要扫描的 DRM FB 缓冲区以及那些仍在扫描的前几帧的缓冲区的引用,缓冲区会在停止使用后的第一次扫描后被释放。这将简化以后的覆盖平面、三重缓冲、多光标支持等工作。
根据提交记录,GNOME 的动态三重缓冲工作仍在进行中,预计会在 GNOME 42 周期中完成。
本文转自OSCHINA
本文GNOME 的放大镜现在将避免对桌面进行双重绘制
本文地址:https://www.oschina.net/news/156816/gnome-magnifier-avoid-double-painting