# 空闲与输入性能

原始反馈：[@KezhiAdore，#284](https://github.com/Han-1413141/dsh-cost-meter/issues/284)。报告提供了同一台 macOS 设备上插件开关的 CPU/GPU 对照，尚未取得该设备的采样栈。

已复现的具体路径是会话费用读取依赖投影对象身份。实际用量没有变化，但投影每次渲染都返回新对象时，RPC 回读更新组件，更新后的组件再次读取新对象，形成持续请求。刷新条件现改为实际数值和会话身份；普通徽章不再启动完整明细回放。

测试使用真实 React 和实际客户端源码，比较 v1.8.29 与修改版，以 4 倍 CPU 降速运行本地 Chromium。1.2 秒空闲窗口中请求数为 48 → 1，随后连续输入后累计请求数为 127 → 1。实际用量增加时仍刷新一次；隐藏页面暂停，恢复后刷新。测试无外部请求，无浏览器错误。这些数字只说明受控回归中的请求行为，不能换算成报告中 Mac 的 CPU/GPU 百分比。

首次打开与缓存恢复分开处理。已有快照立即返回，完整回放在后台进行；鼠标悬停、键盘聚焦明细入口会预加载。首次无缓存的长会话仍需计算。本地 2,880 次调用的服务端样例中，首次轨迹计算约 400ms，已有缓存恢复约 41ms；不包括浏览器布局和绘图，耗时随设备及历史规模变化。

明细后台更新只服务实际请求过的会话。启动只读少量近期元数据，不扫描明细；90 秒没有新的查看请求后停止为该会话预计算。费用与用量账本继续正常记录。提示弹窗出现后不再持续等待，长时间刷新使用有限动画，减少空闲合成工作。
