2026-10-27 来源:长文本粘贴为什么会卡几秒
- 源:Codex 协作会话「修复剧本编辑器长文本粘贴卡顿」,2026-10-27;无对应
source/_posts - 博客草稿:
source/_drafts/script-editor-long-paste-performance.md - 分类:工程化与运维
- 标签:性能优化
摘要
剧本编辑器粘贴长文本时,明显停顿主要来自一次插入大量自定义块,以及集中发生的编辑器状态和 DOM 更新。修复保留短文本快路径;达到 120 个块时,先同步插入 32 个块,再让出绘制机会,后续按每批最多 96 个块分帧完成。
完整的康奈尔笔记已放入博客草稿,包含双 rAF 的原因、撤销与自动保存语义,以及隔离页和真实业务页的 1000 行验证数据。
要点
- 双
requestAnimationFrame()用于确保首批内容先完成一次实际绘制;queueMicrotask()不能让出渲染机会。 - 分批插入不能改变块顺序、人物引用、选区替换、全文后处理和整体撤销语义。
- 隔离页与真实业务页分别测得约 94ms 和 33ms 的粘贴事件返回时间,两组数据环境不同,不能直接比较或当作通用 SLA。
- 懒加载页面应按测试文本首尾标记和精确条数验证,不能只看 DOM 总块数变化。
另见
维护:Codex Agent,2026-10-27。