Skip to content

v0.4.5

Choose a tag to compare

@corvofiox corvofiox released this 22 Oct 20:36
· 10 commits to main since this release

Com Bridge v0.4.5

两处体验修正,功能不变。

修:高 DPI 屏上界面偏小

本进程是 per-monitor DPI 感知的 —— 这是输入坐标必须的(否则 Windows 会把
光标坐标按缩放"虚拟化",跨屏落点整体偏移)。代价是 tkinter 不再自动放大界面:
96 DPI 下设计好的 620×660 窗口,在 200% 缩放的笔记本屏(如 2560×1600)上只占
四分之一面积,字小得看不清。

现在整套界面按系统缩放同步放大:

1.0× 1.5× 2.0×
窗口实际尺寸 636×535 946×759 1256×984
  • 自绘位图(卡片/胶囊/徽章/按钮)的尺寸与 PIL 字号统一乘缩放系数(uidpi.SCALE);
  • Tk 的磅值字体通过 tk scaling 同步放大;
  • Tk 自带的磅值字体;
  • 副机窗体同样按比例放大。

启动日志会写明当前倍率,例如:
[gui] 界面缩放 ×2.00(系统 DPI 192)

需要强制指定时可用环境变量:COM_BRIDGE_UI_SCALE=1.5(或 150%)。

已知取舍:倍率在启动时确定一次。把窗口拖到另一块不同缩放的屏幕上不会实时重排,
需要重启程序。

修:主界面那个"对时偏差 +47568320 ms"

它显示的其实是 offset_us —— 两台机器单调钟(perf_counter)纪元之差,
等于两机开机时刻相差多少(这台副机是 13.2 小时)。它是换算基准,不是
"时钟误差",摆在界面上只会让人以为时钟差了 13 小时。

现在:

  • 主界面:(对时往返 1.3 ms) —— 用户真正能感知的量;
  • 状态窗口:rtt 1.34ms / 样本 8 / 偏移跳变 0 次(最大 0.00ms) | 单调钟偏移 +47568320ms(两机开机时刻之差,换算用,不是时钟误差)

偏移跳变才是真正要盯的指标:offset 一旦阶跃,相邻音频包的时间戳就错位,
会听到断口。这个计数以前只在内部统计,现在摆出来了。

测试

763 项通过(新增 10 项界面缩放回归:倍率范围、像素换算四舍五入、环境变量解析、
150% 写法、主题常量确实过缩放)。