Compton配置优化以提升刷新率与流畅度
一 核心参数与推荐值
- 设置目标刷新率:将refresh-rate设为显示器实际刷新率(如60/120/144 Hz),避免合成器与显示器不同步造成卡顿或抖动。
- 选择渲染后端:优先使用backend = "glx"以启用GPU加速;若出现闪烁/兼容问题,再退回xrender。
- 垂直同步策略:
- 追求低延迟与更高帧数:设vsync = false(可能出现撕裂)。
- 追求稳定无撕裂:设vsync = “opengl-swc"或"opengl”,让合成与刷新率同步。
- 帧率上限:将frame_rate设置为与显示器一致(如144),避免无谓合成开销。
- 精简特效:关闭shadow = false、减少/关闭opacity相关规则,显著降低合成负载。
- 降低GPU/CPU占用:启用glx-no-stencil = true、glx-no-rebind-pixmap = true;对全屏视频/游戏启用unredir-if-possible = true以绕过合成。
- 刷新率验证:用**glxinfo | grep “refresh rate”**确认当前刷新率;观察视频/动画是否更顺滑。
二 示例配置
# ~/.config/compton.conf
backend = "glx"
vsync = "opengl-swc" # 低撕裂;若追求更高帧数可改为 false
refresh-rate = 144 # 与显示器一致
frame_rate = 144 # 与显示器一致
# 降低GPU负载
glx-no-stencil = true
glx-no-rebind-pixmap = true
# 精简特效
shadow = false
# opacity-rule = [ "90" ] # 如非必要,减少/关闭透明规则
# 提升特定场景性能
unredir-if-possible = true
paint-on-overlay = true
- 若使用NVIDIA/AMD显卡,请确保闭源/开源驱动正确安装并启用OpenGL,以获得稳定的glx加速与刷新率同步效果。
三 应用与验证
- 应用配置:
- 先结束旧进程:pkill compton
- 后台启动:compton -b -c ~/.config/compton.conf
- 验证:
- 查看进程:ps aux | grep compton
- 检查刷新率:glxinfo | grep “refresh rate”
- 若使用发行版服务管理(较少见),可用:sudo systemctl restart compton;否则以进程方式管理更直观。
四 常见问题与取舍
- 撕裂与延迟的权衡:vsync = false可提升帧率与响应,但可能出现撕裂;**vsync = “opengl-swc”/“opengl”**能显著减少撕裂,但会增加一定输入延迟。
- 高CPU/GPU占用:优先关闭shadow、减少opacity规则;尝试paint-on-overlay、unredir-if-possible;必要时退回xrender以换取兼容性。
- 特定应用异常:通过shadow-exclude或opacity-rule为视频播放器/游戏窗口添加排除规则(如按窗口类名匹配)。
- 仍不理想时:可尝试更轻量的合成器(如xcompmgr)或在支持的环境下切换到Wayland合成器(如Sway)以获得更好的刷新率与流畅度表现。