Evan's Blog
EvanZhu0721 / 公开仓库

SBMS

镜像已同步

SBMS complete the calculation rules for the default logical desktop topology relationship and the physical dimensions of the displays in the Windows multi-screen collaboration system.

上游 GitHub
READ-ONLY MIRROR

README、源码与 Release 已保存到本站;源码视图固定到 commit a37d6c4b。

main/ root / docs
a37d6c4b· 固定源码快照
docs/logical-desktop-size-observation.md3.4 KB
预览
1# SBMS 逻辑桌面尺寸观察报告
2
3## 观察背景
4
5观察日期:2026-08-13
6
7观察对象为当前运行的 SBMS 1.4.3 实例,以及其中配置的两块串流虚拟屏:
8
9- 15.3 英寸,原生分辨率 2880 × 1800;
10- 14.6 英寸,原生分辨率 2960 × 1848。
11
12两者均采用竖屏方向、120 Hz 刷新率、相同的参考显示器和 `match_physical_size` 尺寸策略。
13
14## 现场结果
15
16SBMS 当前实际创建的桌面模式如下:
17
18| 目标屏幕 | SBMS/DisplayConfig 桌面模式 | Windows 200% 缩放后的逻辑尺寸 |
19| --- | ---: | ---: |
20| 15.3 英寸 | 1770 × 2832 | 885 × 1416 |
21| 14.6 英寸 | 1848 × 2960 | 924 × 1480 |
22
2314.6 英寸虚拟屏在两个维度上都大于 15.3 英寸虚拟屏,总桌面像素数也更高。该现象可在当前 Windows 显示拓扑和 SBMS 运行日志中直接观察到,并非界面显示误差。
24
25## 原因分析
26
27SBMS 不直接按照屏幕对角线大小排列逻辑桌面尺寸。其几何计算会综合目标屏物理尺寸、参考显示器像素密度、目标屏原生像素比例以及输出模式的整数对齐要求。
28
29计算过程首先根据目标屏物理宽度和参考屏像素密度得到理想模式宽度:
30
31```text
32理想宽度 = 目标屏物理宽度 × 参考屏每毫米像素数
33```
34
3515.3 英寸配置得到的理想宽度约为 1766.43 像素。其竖屏原生比例 `1800:2880` 可以约分为 `5:8`,模式生成步长较小,因此 SBMS 能生成接近理想尺寸的 `1770 × 2832` 模式。
36
3714.6 英寸配置得到的理想宽度约为 1685.61 像素,原本应当小于 15.3 英寸配置。但其原生分辨率 `2960 × 1848` 并不是精确的 16:10;旋转后的像素比例 `1848:2960` 只能约分为 `231:370`。SBMS 保持这一整数比例并向上取整时,模式只能以较大的步长变化,最终直接得到完整的 `1848 × 2960` 模式。
38
39因此,物理尺寸计算使用的声明比例 16:10 与模式生成使用的实际像素比例 `2960:1848` 存在轻微差异。该差异经过整数约分和向上取整后被放大,使物理尺寸更小的 14.6 英寸配置产生了更大的桌面模式。
40
41## Windows 缩放影响
42
43当前两块虚拟屏使用相同的 200% Windows 缩放。Windows 只是将 SBMS 已经生成的桌面模式按相同比例转换为逻辑坐标:
44
45- 15.3 英寸:`1770 × 2832 ÷ 2 = 885 × 1416`;
46- 14.6 英寸:`1848 × 2960 ÷ 2 = 924 × 1480`。
47
48因此,该尺寸反转不是由不同的 Windows DPI 或缩放设置造成的,而是在 SBMS 输出显示模式时已经形成。
49
50## 结论
51
52当前 14.6 英寸逻辑桌面大于 15.3 英寸,主要由以下因素共同造成:
53
541. 14.6 英寸屏幕的原生像素数本身更高;
552. `2960 × 1848` 与配置声明的 16:10 存在轻微比例差异;
563. SBMS 按实际原生像素比例约分并向上取整,导致 14.6 英寸配置的可选模式步长过大;
574. 该模式最终停留在完整原生分辨率,而 15.3 英寸配置能够生成更接近物理匹配目标的中间模式。
58
59这一现象属于 SBMS 几何模式计算中的离散取整边缘情况,而不是屏幕物理尺寸与 Windows 逻辑桌面之间存在直接的反向关系。
60
61## 相关实现
62
63- `src/geometry.rs`:物理尺寸、参考像素密度和虚拟模式计算;
64- `docs/geometry.md`:SBMS 几何尺寸模型说明;
65- `%LOCALAPPDATA%\SBMS\config-v2.json`:当前目标屏参数;
66- `%LOCALAPPDATA%\SBMS\logs\sbms.log`:当前映射计划与实际显示模式记录。
67
68