Agent Skills
返回列表
Electron 可视化内存性能分析

Electron 可视化内存性能分析

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c734898/electron-memory-perf。

技能介绍

问题背景

Electron 应用里内存飙升、截图/画布/IPC 大包拖慢界面,往往发生在某一业务链路里,而不是整个仓库均匀泄漏。全项目盲目加 console.log 或一次性 hook 所有进程,日志噪声大、难以归因,事后也很难用 rg 干净撤掉插桩。

技能如何工作

本技能默认只分析你点名的模块(例如全屏防护、某条 IPC、单个 Worker 或启动空闲内存),流程大致是:

  1. 先读代码,用业务语言梳理入口、IPC、BrowserWindow/WebContentsView、渲染页、子进程与清理路径。
  2. 只对这条链路实际用到的能力打点(如 canvas、Blob、native addon、desktopCapturer、大 payload IPC 等)。
  3. 在既有日志体系(electron-log、userData 等)上追加单行 JSON,统一带可检索标记 AI-PERF,便于后续删除。
  4. 给出复现后的分析命令,并用 scripts/electron-perf-report.cjs 从日志生成中文 HTML 报告,把进程指标映射回业务动作。

报告侧会包含业务流程、所用能力清单,以及基于能力的内存归因说明;指标展示优先中文标签,并保留英文字段供工程师检索。

适用边界

  • 日志路径若无法从代码可靠推断,技能会停下来向你确认,而不是猜路径。
  • 插桩范围以你批准的模块为准;除非你明确要求,不会对全仓库铺开。
  • 诊断前应参考技能附带的 references/instrumentation.md 与 references/interpretation.md,避免脱离实现细节做泛泛结论。

使用场景

  • 截图或录屏模块在反复调用 `desktopCapturer` 后进程 RSS 持续上涨,需要按业务链路打点并出中文 HTML 报告
  • 某条 IPC 频繁传递大图或序列化对象,要在收发两侧记录 payload 大小与耗时后再复现一次问题
  • 启动后未打开业务窗口时空闲内存偏高,需要对加载窗口数、定时器与快照做分段采集
  • 全屏防护或窗口嵌入(`WebContentsView`)切换前后 GPU/进程工作集异常,需限定模块插桩而非全仓扫描

适合人员

  • 维护 Electron 客户端的工程师,需要在发版前把某功能模块的内存归因说清楚
  • 负责截图/画布编辑器的桌面端开发,要量化 `canvas`/`Blob` 解码与清理是否按预期执行
  • 排查 IPC 与大 payload 的性能 owner,希望日志带 `AI-PERF` 标记且事后可一键检索删除
  • 带非研发同学看结论的技术负责人,需要业务流程章节与中文指标标签的可读报告