Repository navigation
Folio 2.9.1 — 长篇不再重排,目录恢复
桌面端 2.9.1:修两个和长篇直接相关的问题 —— 打开书反复重排、目录只渲染几行。
修复
- 超长篇每次打开都整本重排:高度缓存原先用 JSON 小数数组保存、上限 20 万段,四十多万段的长篇永远存不进缓存。现在改为 Uint16 二进制 + base64(44 万段约 880KB,原约 4MB),上限提到 120 万段,另加一层会话内内存缓存
- 测量量减半:空行段落不再逐段进 DOM(
.vp-gap是固定高度,用一个真实探针量一次后批量填充),长篇里空行常占一半 - 首次排版更快:批次大小按书的大小自适应(约 16 帧量完,而不是七百多帧),测量层直接拼 DOM 不走 React,虚拟滚动的高度表改用
Float64Array - 目录面板恢复虚拟滚动:依赖 DOM 的 effect 改挂面板存活开关(
alive),修viewHeight恒为 0 导致只渲染 9 行、滚动也不换窗口的问题
实测
- 86.7 万段 / 20MB 的压力样本:首开 14.3s、复开 0.32–0.40s
- 1600 章的书:目录首屏 20 行,滚到 50% 显示第 793–820 章,点选可正常跳章
- 位置还原与段落高度连续性已逐项校验(相邻段间隙 0–1px,无重叠)
兼容
- 数据格式、IPC、书源规则与 2.9.0 完全一致,升级不丢书架 / 进度 / 痕迹
- Android 客户端不受影响
产物
- Folio-Setup-2.9.1.exe(推荐)
- Folio-Portable-2.9.1.exe
- Folio-2.9.1-win-x64.zip