Skip to content

Folio 2.9.1 — 长篇不再重排,目录恢复

Choose a tag to compare

@flulwh flulwh released this 14 Nov 09:35
· 52 commits to main since this release

桌面端 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