问题
BrowserSkill 使用侧边栏 Tab 展示浏览器画面时,首帧通常需要等待 10–15 秒。手动切换到 Browser Skill Tab 后,画面会立即出现。
使用前台或 PiP 窗口没有这个问题,但会产生较多窗口,影响使用体验。
复现步骤
- 启用 BrowserSkill 和
dsh-better-sidebar。
- 保持另一个侧边栏 Tab 处于激活状态。
- 启动 BrowserSkill session 并打开网页。
- 等待 Browser Skill Tab 自动创建或复用。
- 观察首帧需要 10–15 秒;手动切换过去后立即加载完成。
原因分析
BrowserSkill 用 --no-active 在后台创建 Tab 后,该页面处于 visibility=hidden。Chrome 会暂停 requestAnimationFrame 并节流部分后台任务。页面虽然可能已经触发 load,但依赖可见帧的渲染、水合或尺寸计算仍未完成,因此看起来一直在加载。用户激活 Tab 后,这些任务立即恢复,页面随即显示完成。
Chromium 对后台页面的节流也可能进一步增加延迟。
建议修改
新 session 创建后,无论观察 Tab 是否可见,都生成一次首帧。首帧完成后,继续保持现有策略:只有视图可见时才进行周期截图。
修复后应满足:
- 隐藏 Tab 也能及时准备好首帧。
- 不需要用户手动切换 Tab。
- 不抢占窗口焦点,也不需要 PiP。
- 隐藏状态下不会持续截图。
问题
BrowserSkill 使用侧边栏 Tab 展示浏览器画面时,首帧通常需要等待 10–15 秒。手动切换到 Browser Skill Tab 后,画面会立即出现。
使用前台或 PiP 窗口没有这个问题,但会产生较多窗口,影响使用体验。
复现步骤
dsh-better-sidebar。原因分析
BrowserSkill 用 --no-active 在后台创建 Tab 后,该页面处于 visibility=hidden。Chrome 会暂停 requestAnimationFrame 并节流部分后台任务。页面虽然可能已经触发 load,但依赖可见帧的渲染、水合或尺寸计算仍未完成,因此看起来一直在加载。用户激活 Tab 后,这些任务立即恢复,页面随即显示完成。
Chromium 对后台页面的节流也可能进一步增加延迟。
建议修改
新 session 创建后,无论观察 Tab 是否可见,都生成一次首帧。首帧完成后,继续保持现有策略:只有视图可见时才进行周期截图。
修复后应满足: