性能与请求调度
路径:阅读器标题栏 → 设置 → 性能设置。

性能设置把问题分成三层:
- 需求来源:主楼层批量和楼中楼预取会产生多少数据需求。
- DOM 窗口:同时渲染多少楼层。
- 共享调度:请求何时启动、是否排队、何时因 429 退避。
调度器不能抵消过大的预取需求;出现请求压力时,先减少需求,再降低并发。
预设
| 参数 | 省资源 | 均衡(默认) | 低等待 |
|---|---|---|---|
| 每批请求主楼层 | 16 | 40 | 48 |
| 视口外挂载缓冲 | 0.35 屏 | 1.25 屏 | 2 屏 |
| 同时挂载主楼层上限 | 28 | 72 | 96 |
| 楼中楼触发距离 | 0.35 屏 | 1.25 屏 | 2 屏 |
| 配置并发上限 | 1 | 3 | 4 |
| 启动间隔下限 | 220 ms | 90 ms | 80 ms |
| 窗口预算目标占用 | 80% | 80% | 80% |
任何手动改动都会进入“自定义”。设置在下次打开阅读器时生效。
主楼层取数
“每批请求主楼层”允许 12–64 条。数值越大:
- 数据边缘等待次数可能更少;
- 单次下载、解析和缓存写入更重;
- 不会增加同时挂载的 DOM 上限;
- 不会绕过共享调度。
DOM 窗口
- 视口外挂载缓冲:0.25–3 屏。
- 同时挂载主楼层上限:24–128 个。
快速滚动会按方向临时前探,但仍受硬上限约束。媒体较重的远处楼层可能更早退回占位。
楼中楼自动请求
触发距离允许 0–3 屏:
- 0:父楼层进入视口后请求;
- 大于 0:提前相应屏数预取;
- 首批每个父楼层最多取 20 条;
- 后续页只在翻页时请求。
共享请求调度
主题、主楼层、楼中楼、消息和用户资料 JSON 共用调度:
| 参数 | 范围 | 含义 |
|---|---|---|
| 配置并发上限 | 1–4 路 | 天花板;多标签页、宿主活动和限流可继续降低 |
| 启动间隔下限 | 80–500 ms | 正常状态的最快启动间隔 |
| 窗口预算目标占用 | 50%–95% | 10 秒/60 秒探测边界的目标比例 |
多个阅读器实例采用更严格值。宿主页面自己的 API 请求也会纳入共享账本,阅读器主动避让。
429 与恢复

出现 429 时:
- 已知全局信号更新 10 秒/60 秒窗口;
- 单个异常端点可以独立冷却,不必拖慢全部阅读;
- 队列不会在恢复瞬间突发补发;
- 恢复探测成功后逐步提高节奏;
- 多标签页共享状态,避免各自重复试探。
不要仅为了“更快”把并发和预取同时调到最大。频繁 429 时先切回“均衡”或“省资源”,观察请求数据面板。
