AI 流式对话就绪
逐 token 输出时视口稳定跟随,用户上滑立即脱离、滚回底部自动恢复。万级会话历史双向加载,未读消息自带计数。
看在线 demo
虚拟列表的性能上限由算法决定,而不是由某次跑分决定。下面是各操作的时间复杂度, 包括省不掉的那一项——n 为数据总量。
| 操作 | 固定高 | 不定高 | 为什么 |
|---|---|---|---|
| 稳态滚动定位 | O(1) | O(1) | 从上一帧的位置增量推进,每帧只跨越几项 |
| 跳转到任意项 | O(1) | O(√n) | 固定高一次除法;不定高走分块索引,跨块查表 + 块内累加 |
| 单项尺寸变化后修正 | — | O(1) | 整块定位:只改渲染块那一个 transform,块内由浏览器重排 |
| 渲染窗口 DOM 节点数 | O(视口) | O(视口) | 只创建可视区与缓冲区内的节点,与数据量无关 |
| 整体替换数据源 | O(1) | O(n) | 总尺寸依赖每一项的高度,这一趟扫描省不掉 |