GNOME 49 在 9 月的另一个值得期待的变化是更好/更快地直接扫描更多应用程序,这要归功于上周合并到 Mutter 合成器中的更改。
由 Robert Mader 编写的 Mutter 更改用于使用 Wayland DMA-BUF 代码路径中的直接扫描替代不透明格式。

Mader 在合并请求中解释说:
“许多显示引擎,尤其是较旧或较简单的显示引擎,仅支持不透明格式。但是,许多客户端需要带有 alpha 的格式进行装饰,并且在窗口完全不透明的情况下(例如全屏或平铺模式)无法轻松按需更改格式。相反,他们使用不透明区域(Wayland 和 EWMH 中都存在的功能)来让合成器了解部分或完全不透明。在完全不透明的情况下,我们可以利用这些知识,并在将缓冲区交给 KMS 进行扫描时将 alpha 格式替换为其不透明变体。也就是说,我们在格式上向 KMS “撒谎”,因为我们知道视觉结果等于如果显示引擎支持 alpha 格式,我们将得到的结果。
因此,我们在受影响的设备上更频繁地点击全屏视频播放等常见使用案例的直接扫描路径,从而减少了资源使用。
这个 “技巧” 已经被其他合成器(如 Weston)使用了很多年,并且似乎适用于所有上游修饰符。理论上,可能存在这个假设不成立的修饰符,但是现在不阻止它似乎不太可能。
为了使客户端 (Mesa) 相应地切换到 scanout 修饰符/标志/等,我们还需要在 scanout 部分中添加实际上不支持的 alpha 格式。
长话短说,现在将有更多在 GNOME 49 Mutter 下运行的应用程序适用于直接扫描,从而获得更好的性能和效率。
转自 GNOME 49 Will Enjoy Better Performance With More Fullscreen Apps – Phoronix
Linuxeden开源社区