CentOS 下 Compton 配置效果测试指南
一 快速验证流程
二 功能与性能测试用例
| 测试项 | 操作 | 预期现象 | 判定要点 |
|---|---|---|---|
| 后端渲染 | 切换 backend=glx 与 xrender 各测试 | 界面正常、无明显撕裂 | glx 通常更流畅;xrender 兼容性更好但性能略低 |
| 垂直同步 | vsync=true/false | 关闭 vsync 可能出现撕裂;开启后撕裂消失 | 结合显示器刷新率观察 |
| 阴影效果 | shadow=true;shadow-exclude 排除规则 | 窗口阴影按规则显示/不显示 | 排除规则语法正确且生效 |
| 淡入淡出 | fade=true | 窗口打开/关闭/切换有过渡动画 | 动画顺滑、无卡顿 |
| 帧率限制 | fps-limit=60 | 拖动窗口与动画帧率稳定 | 观察是否接近设定上限且无抖动 |
| 抗锯齿 | glx-use-gl=true;glx-aa=msaa;glx-aa-depth=4;glx-aa-samples=4 | 斜线/文字边缘更平滑 | 在浏览器、终端等场景对比边缘锯齿 |
| 透明度/不透明度 | opacity / background-opacity 规则 | 指定窗口/桌面背景按设定透明 | 规则匹配正确、无残影 |
| 窗口重定向 | unredirected-transparency=false/true | 全屏游戏/视频是否绕开合成 | 全屏场景性能与撕裂表现符合预期 |
| 多显示器 | 多屏拖拽窗口 | 各屏合成一致、无错位 | 不同输出设备下行为一致 |
三 日志与问题定位
四 自动化与回归测试
#!/usr/bin/env bash
set -e
CFG=~/.config/compton.conf
LOG=/tmp/compton-test.log
echo "=== [$(date)] 启动 Compton(前台+日志) ===" | tee -a "$LOG"
compton --config "$CFG" --log-level debug 2>&1 | tee -a "$LOG" &
PID=$!
sleep 3
echo "=== 基本检查:进程与配置 ===" | tee -a "$LOG"
pgrep -x compton >/dev/null && echo "Compton 运行中(PID $PID)" | tee -a "$LOG" || { echo "Compton 未运行"; exit 1; }
echo "=== 功能探针:阴影/淡入淡出/透明度 ===" | tee -a "$LOG"
xdotool search --name "Terminal" windowactivate --sync
sleep 1
xdotool key "ctrl+alt+t"
sleep 1
xdotool windowminimize "$(xdotool getactivewindow)"
sleep 1
xdotool windowactivate "$(xdotool search --name "Terminal" | tail -n1)"
echo "请在终端中观察:阴影、淡入淡出、透明度是否符合配置" | tee -a "$LOG"
echo "=== 性能探针:帧率与撕裂 ===" | tee -a "$LOG"
echo "拖动任意窗口并观察是否出现撕裂;fps-limit 是否生效(目标 60 FPS)" | tee -a "$LOG"
read -p "按回车结束测试并停止 Compton..."
kill "$PID" || true
echo "=== [$(date)] 测试结束,日志:$LOG ==="
五 常见现象与排查要点