From c794967b02e8882842e115c3b77a6b026a789089 Mon Sep 17 00:00:00 2001 From: "DeepSeek V4.1 Flash" <> Date: Sun, 11 Oct 2026 15:44:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=A6=BB=E7=BA=BF=E9=80=90?= =?UTF-8?q?=E5=83=8F=E7=B4=A0=E6=A0=A1=E9=AA=8C=E7=BB=93=E8=AE=BA=EF=BC=9A?= =?UTF-8?q?=E6=95=B4=E6=AE=B5=E9=A2=84=E8=A7=88=E4=B8=8E=E6=97=A7=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E9=A2=84=E8=A7=88=E7=9A=84=E5=85=A8=E8=B4=A8=E9=87=8F?= =?UTF-8?q?=E5=B8=A7=200=20=E5=B7=AE=E5=BC=82=EF=BC=88=E5=90=AB=20GetPixel?= =?UTF-8?q?=20=E8=B8=A9=E5=9D=91=E6=8F=90=E9=86=92=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documents/agent_mem.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documents/agent_mem.md b/Documents/agent_mem.md index 7041842..32a8bf1 100644 --- a/Documents/agent_mem.md +++ b/Documents/agent_mem.md @@ -256,6 +256,11 @@ Documents/ 项目文档(含本文件) **(五)平移仍有固有下限(诚实说明)** - 平移**必然**让视图每帧变化 → 静态场景缓存失效 → 波形必须在 UI 线程重画(GDI+ 只能在 UI 线程绘制,**无法异步**)。装饰层缓存已把"与视图无关"的部分(图例/刻度)从每帧开销中移除,剩余开销是波形本身 + 网格线 + 时间轴,属"不牺牲显示效果"下的固有成本。 +**(六)离屏逐像素校验(含历史踩坑提醒)** +- 工具:`.preflight/perf/perf_.exe 1 ` 导出确定性 PNG;`.preflight/perf/compare.ps1` 用 `LockBits`+`Marshal.Copy` 逐字节比对。 +- **踩坑**:比对若用 `[System.Drawing.Bitmap]::GetPixel` 且两侧位图**尺寸不一致或文件缺失**,会抛 `调用"GetPixel"时发生异常:"参数无效"`。根因通常是"旧版本"的 harness 链接失败(例如它引用了新版本才有的符号)导致对照图没生成。**务必**:①先确认两侧 PNG 都存在且尺寸一致;②用 `LockBits` 而非逐点 `GetPixel`(后者对上兆像素级图片极慢)。 +- **实测结论**(`709cbe4` 的"可见窗口预览" vs `389b4ec` 的"整段预览",同 harness 同数据):全部**全质量帧**(均值滤波/弱波增强 × FitAll/2.5s/103ms 三个缩放)**逐像素 0 差异** —— 证明"改为整段计算"未带来任何显示回归,预览与"构建为新信号"一致;仅**拖拽中途**帧有 0.09% 差异(快速帧关抗锯齿 + 装饰层贴回的预期差异)。 + --- ## 10. 变更日志(本文件维护记录)