Skip to content

[Bug][Performance] 新安装插件页面标签切换 iframe 重建导致 2-3 秒转圈,老插件秒开 #2559

Description

@wszbdy

环境

  • HanaAgent 版本:0.450.0
  • 平台:Windows 10/11 (win32, 10.0.26100)
  • 客户端:Hana 桌面端(Electron),本机 loopback 连接
  • 相关:GPU 子进程曾有崩溃记录(见下文"环境线索")

现象

新安装的插件(无论是完整功能还是极简静态页),在顶部标签栏点击切换时,页面会白屏转圈 约 2-3 秒后才显示内容。

对照组(同环境、同客户端):

插件 安装时间 标签切换
report-viewer(仅 page) 较早 秒开
deepseek-usage-monitor 较早 秒开
llm-learn(今天新装,完整功能) 今天 转圈 2-3 秒
llm-learn-diag(1KB 极简静态页,无样式/无脚本/无内容库 今天 转圈 2-3 秒

关键诊断数据(devtools Network 面板)

打开「llm-learn」标签时:

  • 插件页面 HTML(page?token=...):200,27.8 kB,3ms
  • 进度接口(progress):200,0.2 kB,2ms
  • 全部 26 个请求、共 723 kB,均在毫秒级完成

即:页面内容几乎瞬间就绪,转圈的 2-3 秒发生在 Network 面板看不到的环节(标签页 iframe 重建 / 渲染上下文初始化的 host 层面),而非请求或内容加载。

已排除项(逐项实测)

  1. 服务端响应慢:接口直连 14-43ms,比老插件还快
  2. 页面内容量:完整版 22KB、极简版 1KB,都慢 → 与内容无关
  3. manifest 结构/字段:与 report-viewer 逐字段一致(id/version/trust/capabilities/contributes.page)
  4. 安装记录:plugin-installs.json 中 source 均为 local,结构完全一致
  5. 重启 Hana:无效
  6. 更新显卡驱动:无效
  7. dev 槽 vs 正式安装:都慢

我的推断

最可能是 插件标签页的 iframe 保活问题

  • 常用/老插件的标签页 iframe 常驻保活,切换时只是显示/隐藏 → 秒开
  • 新插件标签页未被保活(或被最近使用 LRU 回收),每次切换都重建 iframe(重新签发 pluginIframeTicket + 新建渲染上下文 + 软件合成初始化)
  • 在部分机器(尤其 GPU 降级模式)上这步要 2-3 秒

待验证:打开插件页放后台保留不切走、隔几分钟再切回,是否变秒开(若是则坐实 iframe 未保活)。

环境线索(可能相关,供参考)

crash.log 显示 GPU 子进程曾崩溃(exitCode 34,2026-08-28),Hana 自动降级到 gpu-sandbox-compat 兼容模式,direct_rendering_display_compositor: disabled_off_ok。若有影响,老插件秒开似乎矛盾,但可能与 iframe 是否保活有关。

期望

  1. 插件标签页 iframe 支持保活 / 固定(keep-alive / pin),避免每次切换重建
  2. 或提供插件页面生命周期管理的配置项
  3. 若能定位到重建环节的具体耗时(ticket 签发 / 渲染上下文创建),希望修复或给出诊断手段

关联 issue

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions