修复:消除 QProcess 重载歧义并归档串流故障验证

变更详情:QProcess::finished 重载消歧;文档:串流失败根因(双 IP ARP 混乱)与延迟 A/B 结论

- moonlight_session.cpp:QOverload 显式指定 finished 重载,修复 ARM64 编译
- moonlight.conf:vsync/frame-pacing 默认改回开启(A/B 实测关闭无改善)
- docs:补充 10-29 登录流程验收、重启验收、Monitor 恢复、双 IP 根因与 A/B 数据
- tools:新增 deploy_kiosk.sh 一键部署脚本与语法自检
This commit is contained in:
songyiming committed 2026-10-29 11:58:32 +08:00
1 parent 61127fb714
commit ee6f449bf1
7 files changed
+381 -46

No files matched your search

+5 -4
View File
@@ -13,9 +13,10 @@
# RK3528 当前没有可用的 V4L2 request/m2m 设备,auto 会选到
# h264_v4l2m2m 并报 "Could not find a valid device",故用 software。
# vsync 1=开启垂直同步(--vsync),0=关闭(--no-vsync)
# 关闭可降低约 50ms 的呈现/VSync 延迟,可能引入撕裂
# 2026-10-29 A/B 实测:关闭 vsync/frame-pacing 对队列与渲染延迟
# 无改善(队列 47.2ms vs 基线 44.1ms),延迟瓶颈是服务端软编码
# 帧率(~21.6FPS,每帧约46ms),保持开启以获得更平滑的画面。
# frame-pacing 1=开启帧率匀速(--frame-pacing),0=关闭(--no-frame-pacing)
# 关闭可降低帧队列延迟,可能造成节奏不均
# performance-overlay 1=显示性能叠图(调试用)
# hang-timeout 串流假死判定时间(秒),0 表示关闭该检测
host=192.168.1.70
@@ -30,8 +31,8 @@ decoder=software
display-mode=fullscreen
audio=1
absolute-mouse=1
vsync=0
frame-pacing=0
vsync=1
frame-pacing=1
performance-overlay=0
retry=3
retry-delay=5
@@ -73,7 +73,10 @@ bool MoonlightSession::start(const ConnectionTicket& ticket, StateCallback callb
const QString logPath = logDir + QStringLiteral("/moonlight-%1.log")
.arg(QDate::currentDate().toString(QStringLiteral("yyyyMMdd")));
connect(process_, &QProcess::finished, this, &MoonlightSession::onProcessFinished);
// QProcess::finished 在 Qt5 里有两个重载((int) 已废弃),必须用 QOverload 消歧
connect(process_,
QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this,
&MoonlightSession::onProcessFinished);
connect(process_, &QProcess::errorOccurred, this, &MoonlightSession::onProcessError);
connect(process_, &QProcess::readyReadStandardOutput, this, [this, logPath]() {
QFile log(logPath);