大文档与性能
适用于 HorseMD v0.6.0
为什么默认显示源码
极长文档、超过约 40 万字符、超过约 5 万行,或存在上千行连续不分段内容时,HorseMD 会优先使用快速源码编辑器。这样可以先打开和保存文件,避免 ProseMirror 一次创建过多节点。
需要富文本时可以主动切换,但应预留解析时间和内存。大文档首次进入富文本会显示骨架屏,正文进入 DOM 后立即消失。
图片很多时
远程图片的加载速度和最终高度由网络与服务器决定。HorseMD 在切换源码模式时不会卸载已经创建的富文本编辑器,避免切回后重新加载全部图片。只滚动阅读时切换会保持视口;可见光标存在时会跟随光标。
代码块很多时
每个代码块会提前创建 CodeMirror,以保持高度稳定。这会增加初始化成本,但可以避免滚动到代码附近或选择代码时页面跳动。
出现异常跳转
先确认使用最新版,然后记录:
- 文档大小、行数和远程图片数量。
- 富文本到源码还是源码到富文本。
- 光标所在结构,例如普通段落、表格、行内代码或代码块。
- 是否连续往返切换,以及第几次出现。
- 可脱敏的最小复现文档。
不要只用小文档验证大文档问题。真实图片密集文档的布局变化与普通段落不同。