双屏 GIF 蓝黄斑纹排障记录
| 项目 | 说明 |
|---|---|
| 文档类型 | 排障记录(Troubleshooting Report) |
| 排障日期 | 2026-11-01 |
| 排障对象 | Windows 10 双屏显示环境下的 GIF 画面蓝黄斑纹异常 |
| 最终状态 | 已定位根因,验证实验通过 |
一、背景
1.1 现象
在副屏(HDMI 外接显示器)上播放或显示特定 GIF 动图时,画面出现蓝黄相间的斑纹伪影,视觉上表现为硬色度边缘的异常彩色过冲;将窗口移动到内屏后斑纹减弱直至消失。
1.2 环境
| 项目 | 配置 |
|---|---|
| 主机形态 | 笔记本(内屏 + HDMI 外接副屏) |
| 内屏 | LG LP156WFG-SPP1(eDP 直连),1920×1080 @ 144Hz |
| 副屏 | 兰利浦 HC-L156A(IPS 面板、1080P 60Hz、HDMI 连接),1920×1080 @ 60Hz |
| 显卡 | NVIDIA RTX 2060(驱动 32.0.16.2101,HDMI 2.0) |
| 操作系统 | Windows 10(Build 19045) |
| 双屏布局 | 左右并排(内屏右、副屏左),顶部对齐;副屏坐标 (-1920, 0),内屏 (0, 0) |
二、现象复现细节
- GIF 窗口位于副屏时,画面出现明显的蓝黄斑纹伪影。
- 对副屏进行截图,截图本身仍显示蓝黄斑纹;将该截图移动到内屏查看,斑纹依然存在。
- 该事实证明斑纹已被编码进像素数据本身,而非物理显示层面的瞬态现象。
- 将 GIF 所在窗口拖动到内屏(144Hz,缩放 125%)后,斑纹明显减弱直至消失。
- 同一内容在移动窗口跨屏后表现发生剧变,说明问题与两屏的渲染/合成差异强相关。
三、排查过程(分层排除法)
第 1 层:物理层排除 —— 斑纹存在于像素层
操作:对副屏画面截图,并将截图移至内屏查看。
结论:截图在内屏上仍复现斑纹,说明异常发生在像素数据层(渲染/合成),与副屏物理面板、排线、HDMI 线缆及接口信号劣化无关,物理层可能性排除。
第 2 层:输出色彩配置核查(色彩格式 / 位深 / 动态范围)
通过注册表(Configuration 键)、EDID 与 QueryDisplayConfig 核对两屏输出色彩路径:
| 检查项 | 内屏(eDP) | 副屏(HDMI) | 判定 |
|---|---|---|---|
| 像素格式 | 32bpp RGB(PixelFormat=21 / ColorBasis=2) | 32bpp RGB(PixelFormat=21 / ColorBasis=2) | 一致 |
| 像素时钟 | 346.5 MHz(1080p144) | 148.5 MHz(标准 1080p60 CEA 时序) | 带宽充足 |
| EDID 位深声明 | VideoInput=0xA5,位深字段=5(未声明 10bit,按 8bit+FRC) | VideoInput=0x80,位深字段=0(未声明深色,默认 8bit) | 无异常 |
| 色彩压缩 | 无 | 无(1080p60 带宽需求远低于 HDMI 2.0 上限,不存在被动降为 YCbCr 4:2:0 的触发条件) | 排除带宽压缩 |
结论:两屏输出色彩路径均为完整 RGB 输出,副屏无 YCbCr 4:2:0 / 4:2:2、有限动态范围等压缩迹象;高级显示设置页中的三项实际显示值无法通过系统 API 自动读取,经人工核对后,确认非本次根因方向。
第 3 层:HDR / WCG 误判排除
| 检查项 | 内屏(eDP) | 副屏(HDMI) | 判定 |
|---|---|---|---|
| EDID HDR 静态元数据(CTA-861-HDR) | 无 | 无(128 字节主块,无扩展块) | 均未声明 HDR |
| EDID Features | 标准 sRGB / RGB444 / YCbCr444 | 0xEE:sRGB / RGB444 / YCbCr444 | 仅标准色域 |
| 系统 AdvColor / HDR / ColorPrimaries / Bpc 注册项 | 无 | 无 | 无 HDR 使能痕迹 |
| ICC/ICM 绑定 | 仅系统级 D65.camp 与 gmmp | 同左,无每显示器 ICC 绑定 | 未绑广色域/自定义配置 |
结论:副屏未被 Windows 或驱动识别为 HDR/WCG 显示器,系统未启用高级色彩路径,HDR/WCG 误判可能性排除。
相关信息
本身这块副屏就不支持 HDR 色彩模式,因此该结论在预期范围内。
第 4 层:NVIDIA 颜色覆盖排除
查询驱动类键(HKLM\...\Class\{4d36e968-...}\0001)、Session / VolatileSettings 子键及 HKCU\Software\NVIDIA Corporation:
结果:注册表中无任何颜色覆盖项(无 ColorFormat / RGB / YCbCr / Range / Depth / DigitalVibrance 值),即不存在显式配置将副屏设为 YCbCr / 4:2:0 / 4:2:2 或有限输出范围,驱动应处于默认 RGB 全范围路径。
结论:NVIDIA 输出颜色路径无异常覆盖,排除。
第 5 层:EDID 能力核对
- 副屏 EDID 仅声明 sRGB / RGB444 / YCbCr444 能力位,无深色、无 HDR、无广色域声明,与内屏同属标准色域设备。
结论:EDID 声明层面两屏无差异,排除屏幕色彩能力声明冲突。
第 6 层:DPI 缩放差异(关键突破点)
| 项目 | 内屏(eDP,主屏) | 副屏(HDMI/HC-L156A) |
|---|---|---|
| 系统缩放百分比 | 125% | 100% |
| 对应 DPI 值 | 120 | 96 |
| 注册表存储 | PerMonitorSettings 内屏键 DpiValue=0(走系统默认) | 未单独存储 |
Per-monitor 独立缩放状态确认:
Win8DpiScaling = 0→ 系统未强制"所有显示器使用同一缩放",各屏独立缩放生效;DpiScalingVer = 4096 (0x1000)→ 使用新版每显示器 DPI 方案(per-monitor DPI)。
发现:两屏缩放值不一致(125% vs 100%),跨屏移动窗口会触发 DPI 重新布局与合成路径切换。该差异在时间与位置上与蓝黄斑纹现象强相关,确立为根因方向。
四、根因结论
在 per-monitor DPI(每显示器独立缩放)开启的前提下,两屏实际 DPI 缩放不一致(内屏 125% / 副屏 100%),改变了跨屏合成路径。
具体机理:
- 窗口跨屏移动时,Windows DWM(桌面窗口管理器)需将内容在两种不同缩放比例之间进行跨屏合成;
- GIF 本质是低分辨率、低色深的索引色位图,色阶数量少,颜色过渡边缘为硬色度边界;
- DWM 对这类低色深位图按不同比例进行重采样(rescale)时,采样核在硬色度边缘处产生过冲(overshoot)/ 振铃(ringing)伪影,蓝色与黄色通道的过冲叠加后表现为蓝黄相间的斑纹;
- GIF 的低分辨率/低色深作为 放大器 放大了该重采样失真,但不是根因。该问题的真正触发条件是两屏 DPI 缩放不一致 + 跨屏合成路径变更。
一句话:per-monitor DPI 下跨不同缩放比例的屏幕显示低色深位图,DWM 重采样在硬色度边缘产生振铃伪影,在特定 GIF 下表现为蓝黄斑纹。
五、验证实验
| 实验项 | 操作 | 结果 |
|---|---|---|
| 实验 1 | 将副屏系统缩放改为 125%,与内屏(125%)统一 | 修改后副屏显示 GIF 斑纹消失 |
| 实验 2 | 维持两屏缩放一致(125%),跨屏拖动 GIF 窗口往复 | 斑纹不再出现,跨屏合成路径恢复正常 |
| 实验 3(回归) | 将副屏缩放还原为 100% | 斑纹复现 |
结论:实验 1/2 证实"统一两屏 DPI 缩放"可使斑纹消失;实验 3 回归复现,因果关系闭环成立。
六、影响与建议
- 规避方案:将副屏缩放保持为 125% 与内屏统一,即可彻底规避该伪影;该方案代价极小,不影响日常使用。
- 回归风险:将副屏还原为 100% 后斑纹会复现,属预期行为而非新故障。
- 后续排查指引:今后针对相同的物理条件,若再遇到"跨屏显示同一内容时出现彩色过冲/振铃伪影,且内容为低分辨率、低色深位图(GIF、缩略图等)"的场景,可以优先检查两屏 DPI 缩放是否一致,其次再考虑色域/线缆等物理因素。
附录:关键排查数据对照表
| 维度 | 内屏(eDP / LG LP156WFG-SPP1) | 副屏(HDMI / HC-L156A) | 是否有差异 |
|---|---|---|---|
| 分辨率 / 刷新率 | 1920×1080 @ 144Hz | 1920×1080 @ 60Hz | 刷新率不同(仅时序差异) |
| 像素时钟 | 346.5 MHz | 148.5 MHz | 带宽来源差异,均充足 |
| 输出像素格式 | 32bpp RGB | 32bpp RGB | 无 |
| EDID HDR/WCG 声明 | 无 | 无 | 无 |
| EDID 位深声明 | 字段=5(8bit+FRC) | 字段=0(默认 8bit) | EDID 声明不同,非实际输出差异 |
| NVIDIA 颜色覆盖 | 无 | 无 | 无 |
| ICC 绑定 | 系统级默认 | 系统级默认 | 无 |
| 系统缩放 | 125%(120 DPI) | 100%(96 DPI) | 有(根因差异点) |
| per-monitor DPI | 已启用(DpiScalingVer=4096 / Win8DpiScaling=0) | 同左 | 无(两屏均受控) |
注
内容 85% 由 Marvis 调用 LLM 生成,存在人工校对,但依然仅供参考
