主要观点:KWin 长期存在关于旧款英特尔集成显卡在 Wayland 会话中性能不佳的 bug 报告,经多次调查和改进,直到现在才得以完全修复。了解问题需了解显示工作原理,多数显示器需按固定间隔发送帧以避免撕裂。KWin 过去处理 deadline 方式存在不足,6.0 版本记录 GPU 渲染时间以减少延迟,但渲染时间不稳定仍会导致卡顿。旧款英特尔处理器配 4k 屏时渲染时间长,Xorg 上 kwin_x11 有“三重缓冲”技巧但存在弊端,KWin 尝试实现无短板的三重缓冲。
关键信息:
- 显示工作原理及多数显示器要求固定间隔发送帧。
- KWin 过去处理 deadline 方式及 6.0 版本改进。
- 旧款英特尔处理器渲染时间长及 Xorg 上的“三重缓冲”。
- 实现三重缓冲的准备工作,如修改内核 API、处理 OpenGL 查询对象等。
- 实际实现三重缓冲的过程及相关调整。
重要细节: - KWin 5.21 版本通过测量渲染时间改善 deadline 处理,但默认仍不能接近 deadline。
- 实现三重缓冲时需解决内核 API 限制、处理 OpenGL 查询对象问题等。
- 三重缓冲在不同系统上的表现,如在桌面 PC 上通常不活跃,在某些英特尔笔记本上效果显著等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。