Javascript DOM 在大表上的性能

问题描述 投票:0回答:1

我正在处理一个大表(~ 30 行 * 90 列),并且该表必须是“无限”。

目前,当用户滚动时,我将删除末尾/开头的 X 列,并将 X 列添加到开头/结尾。我在移动设备上使用这个 javascript 和 Cordova,这是一个繁重的解决方案。

我听说最好不要删除/添加列,而是重写每个 td 中的内容并重新调整scrollLeft以获得更好的性能。

所以我想问,有没有人已经尝试过这些解决方案,哪一个是最好的?我真的很想提高性能,添加/删除列需要大量性能,有时 UI 会冻结一段时间。

javascript dom
1个回答
0
投票

(免责声明,我是维护者)

我构建了性能最高的 DOM 表,您可以显示无限多个单元格/列(仅受保存行的 chrome RAM 的限制),并且它在任何设备上运行 60fps。

https://github.com/gabrielpetersson/fast-grid

我有:

  1. 自定义虚拟化,重用行和列的 DOM,仅更改文本
  2. 自定义事件循环,优先考虑过滤/排序,确保它永远不会丢帧
  3. 没有奇怪的东西。没有强制回流/布局,没有奇怪的过度功能性 JavaScript,没有反应
© www.soinside.com 2019 - 2024. All rights reserved.