Compton 配置降低延迟的实用要点
一 核心原则
- 优先使用GPU 加速:将后端设为glx(X11),在 Wayland 会话中使用对应合成器;避免使用性能较差的 xrender。同时确保显卡驱动正确安装并启用 OpenGL 支持。
- 精简或关闭高开销特效:阴影 shadow、透明度 opacity/blur 会显著增加合成计算,延迟敏感场景建议关闭或降低强度。
- 合理处理垂直同步 vsync:开启可减少撕裂但可能引入输入/帧延迟;关闭可提升帧率但可能出现撕裂。建议按显示器与显卡表现实测二选一。
- 控制帧率上限 frame-rate-limit:将上限设置为与显示器刷新率一致(如 60 FPS)能降低不必要的合成与功耗,通常能减少卡顿与输入延迟的体感。
- 保持版本与驱动更新:新版本通常包含性能修复与优化;同时确认 OpenGL/驱动工作正常。
二 关键参数与建议值
| 参数 |
建议值 |
作用与取舍 |
| backend |
glx(X11);Wayland 用对应合成器 |
启用 GPU 加速,避免 xrender |
| vsync |
依据实测选择 true/false |
开:减少撕裂但可能增延迟;关:帧率更高但可能撕裂 |
| shadow |
false |
关闭阴影以降低合成开销 |
| opacity / blur |
false 或显著降低强度 |
降低透明度/模糊计算成本 |
| frame-rate-limit |
与显示器一致,如 60 |
减少不必要合成与功耗 |
| log-level |
warning/error |
降低日志开销,避免性能被日志影响 |
三 快速配置示例
# ~/.config/compton.conf
backend = "glx"
vsync = false # 若更在意撕裂,可改为 true 实测
shadow = false
opacity-rule = [ "100:class_g = 'i3-frame'", "100:class_g = 'rofi'" ] # 仅对少数窗口保留透明度
blur-background = false
frame-rate-limit = 60
log-level = "warning"
- 保存后重启 Compton 生效;如使用 systemd 管理的会话,可重启对应服务或重载会话。
四 验证与排障
- 监控资源与帧率:用 htop/glxgears 观察 CPU/GPU 占用与帧率变化,定位瓶颈。
- 检查运行状态与日志:使用 journalctl 查看 Compton 输出,确认后端、vsync、特效等是否按预期生效。
- 逐项 A/B 测试:每次只调整一个参数(如仅切换 vsync 或仅关闭阴影),对比输入延迟/卡顿体感与 glxgears 帧率,找出最适合你硬件与显示器的组合。
- 仍不理想时:尝试其他合成器(如 xcompmgr、Sway 的合成器)以验证是否为 Compton 本身适配问题。