Files
MapLibreParticleLab/docs/60_测试/30_02_GPU_PingPong与ContextRecreation最小技术验证报告_v5.md
2026-08-30 10:14:45 +08:00

3.1 KiB
Raw Permalink Blame History

30-02 GPU Ping-Pong 与 Context Recreation 最小技术验证报告 v5

日期:2026-08-30

正式状态:PASS(EGL Context Recreation:Accepted Risk / 未验证;用户明确决定不阻塞)

1. 正式关闭结论

30-02 已正式关闭,允许进入 30-03。

用户已完成并确认 Android OpenGL 实机验证结果:ACTIVE / STATIC 控制、State A/B 与 Trail A/B 的 GPU ping-pong 验证、STATIC 下普通 MapLibre redraw 的冻结行为、DISABLE / ENABLE,以及 rotation 后 validation control mode 的恢复均已达到本验证项目的要求。

其中,STATIC 手势问题曾被用户实机判定为 T3 FAIL;v3 的最小修复后,用户已确认 pan、zoom、bearing、pitch 仍可使地图正常 redraw,但不会推进 State A/B update、Trail A/B fade/marker update、slot swap 或 simulation frame/index。该修复结果是本结论的一部分,并非通过禁止地图 redraw 达成。

2. 已完成实机结果的证据边界

以下结论来自用户完成的 Android OpenGL 人工运行验收;Codex 没有在本轮重新编译、安装、运行 Android 或执行 ADB:

  • ACTIVE 状态下 validation GPU ping-pong 与 Trail composite 可运行;
  • STATIC 静止和 STATIC 下 pan、zoom、bearing、pitch 的地图 redraw 不再推进 simulation;
  • DISABLE / ENABLE 行为正常;
  • Activity rotation 后 validation control mode 可恢复,未再把 STATIC 强制改为 ACTIVE;
  • 30-01 已正式 PASS,30-02 所依赖的 Core RenderLayer 接入与同帧 Transform 路径保持有效。

本报告不伪造 logcat 原文、帧号、GPU 数值或未由用户提供的上下文重建次数。

3. EGL Context Recreation:Accepted Risk / 未验证

真实 EGL context loss / recreation 没有获得独立、可复现的 Android OpenGL 实机证据。因此:

  • 不将 EGL Context recreation 写成已实机 PASS;
  • 保留它为 Accepted Risk / 未验证项;
  • 风险内容是:实际 EGL context 被系统销毁并重建时,validation-only RenderTarget generation/discard、重建和后续 composite 的完整运行时路径尚未单独验证;
  • 用户已明确决定该未验证项不再阻塞当前阶段推进。

这是用户接受的验证残余风险,不是对 GPU ping-pong、STATIC freeze 或 rotation control-mode 修复失败的判定。

4. 历史状态与代码范围

  • v1 的 BLOCKED 保留:它记录的是当时 30-01 尚未正式 PASS 的前置门槛,不能删除或改写;
  • v2 记录 State/Trail A/B 与 generation 验证准备;
  • v3 记录 T3 FAIL、根因及 STATIC frozen-composite 最小修复;
  • v4 记录 Android rotation control-mode 恢复定向修复;
  • 本 v5 只回填已完成实机结果与用户的风险接受决定,不新增 GPU 架构、RenderTarget、shader、Mask、Vulkan、iOS 或正式粒子实现。

5. 后续门槛

30-02 的正式状态为 PASS,且 EGL Context recreation 未验证风险已经由用户接受,不阻塞后续工作。允许进入 30-03。

若未来需要发布级 context-loss 覆盖,应将真实 EGL context recreation 单独列为新的验证项;它不追溯改变本报告所记录的用户决定。