merge: HUD 常显修复

This commit is contained in:
dev-team 2026-10-23 10:45:47 +08:00
commit bd7ca29945

View File

@ -362,7 +362,7 @@ fn session(
};
let mut window = Window::new(
"mvp-remote viewer (Esc 退出)",
"mvp-remote v0.6-HUD (Esc 退出)",
w,
h,
WindowOptions {
@ -471,7 +471,8 @@ fn session(
}
}
// 6) HUD:每秒刷新一次指标,画在右上角
// 6) HUD:指标每秒刷新一次;每秒至少强制呈现一次(视频冻结/黑屏时 HUD 依然可见)
let mut need_present = dirty;
let (hud_loss, hud_jit, hud_p95, hud_dec);
if hud_last.elapsed() >= Duration::from_secs(1) {
let f = stats.frames.load(Ordering::Relaxed);
@ -494,13 +495,14 @@ fn session(
hud_p95 = stats.gap_p95();
hud_dec = stats.dec_fail.load(Ordering::Relaxed);
hud_last = Instant::now();
need_present = true; // HUD 面板每秒至少重绘一次
} else {
hud_loss = f64::NAN;
hud_jit = 0;
hud_p95 = None;
hud_dec = 0;
}
if dirty {
if need_present {
let rtt = stats.rtt.load(Ordering::Relaxed);
let e2e = stats.e2e.load(Ordering::Relaxed);
let e2e_ok = stats.e2e_valid.load(Ordering::Relaxed);