温馨提示×

centos compton配置的性能调优指南

小樊
41
2025-12-25 13:40:31
栏目: 智能运维

CentOS 上 Compton 性能调优指南

一 基础准备与安装

  • 确认会话类型:Compton 是 X11 合成器,不适用于 Wayland。在登录会话选择“GNOME on Xorg”或“Xfce Session”等 X11 会话再启用 Compton。
  • 安装 Compton:在 CentOS 8/9RHEL 8/9 使用 DNF 安装。
    • 安装命令:sudo dnf install compton
  • 配置文件路径:默认使用 ~/.config/compton.conf,如不存在可手动创建。
  • 快速验证:
    • 前台运行:compton --config ~/.config/compton.conf --backend glx
    • 查看版本与参数:compton --versioncompton --help
  • 注意:部分新发行版已转向 picom 作为默认/主流合成器;若系统仓库提供 picom,建议优先评估其性能与兼容性。

二 关键性能参数与推荐值

  • 渲染后端:优先使用 backend = glx(GPU 加速),仅在兼容性问题时回退 xrender
  • 垂直同步:根据体验二选一。
    • 追求低撕裂:设置 vsync = true
    • 追求低输入延迟/高帧:设置 vsync = false(可能出现撕裂)。
  • 阴影与透明:为最大化性能,建议关闭。
    • shadow = false
    • 若使用全局透明/淡入淡出,建议关闭:opacity = false
  • 帧率上限:与显示器刷新率匹配,常见为 frame-rate = 60(高刷屏可设为 120)。
  • 模糊与背景效果:关闭以释放 GPU/CPU。
    • blur-background = falseblur-kern = “3x3box”(如必须启用,保持最小核)。
  • 刷新率与多显示器:使用 xrandr 确认输出与刷新率,必要时在启动脚本中设置,避免合成器误判。
  • 资源限制:当出现异常占用时,可用 cpulimit 限制进程(示例:cpulimit -l 50 -p $(pgrep compton))。

三 高性能配置示例

# ~/.config/compton.conf
backend = "glx"
vsync = false          # 低延迟优先;若撕裂明显改为 true
shadow = false          # 关闭阴影
opacity = false         # 关闭全局透明/淡入淡出
blur-background = false # 关闭背景模糊
frame-rate = 60        # 与显示器刷新率一致

# 可选:仅在遇到特定问题时启用
# glx-no-stencil = true
# glx-copy-from-front = true
# ignore-glx-glitz = true

# 可选:对已知重绘频繁的窗口禁用阴影/透明
shadow-exclude = [
  "class_g = 'Firefox'",
  "class_g = 'Chromium'"
]
  • 应用方式:
    • 前台测试:killall compton && compton --config ~/.config/compton.conf
    • 登录自启:见下一节 systemd 单元示例。

四 自启动与运行时管理

  • systemd 用户服务(推荐):创建文件 ~/.config/systemd/user/compton.service
[Unit]
Description=Compton Window Composer
After=graphical-session.target

[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=on-failure
Environment=DISPLAY=:0

[Install]
WantedBy=default.target
  • 启用与启动:
    • systemctl --user daemon-reload
    • systemctl --user enable --now compton
  • 系统级服务(可选):创建 /etc/systemd/system/compton.service,将 ExecStart 指向你的 Compton 路径,并在 [Install] 中使用 WantedBy=multi-user.target
  • 热重载:修改配置后执行 systemctl --user restart compton;前台调试可直接 killall compton && compton ...

五 验证与排错

  • 性能观测:
    • htop/top 观察 CPU 占用;glxinfo | grep "OpenGL renderer" 确认 GPU 加速生效;xrandr --query 检查刷新率与输出。
  • 常见问题处理:
    • 撕裂:将 vsync 改为 true
    • 卡顿/高占用:关闭 shadow/blur/opacity,确认 backend=glx,必要时用 cpulimit 限流;
    • 特定应用异常:用 shadow-excludeopacity-rule 精细排除;
    • 多显示器:确保 xrandr 输出正确,必要时在启动脚本中显式设置刷新率与位置。

0