ag-grid-enterprise v20.2.0。 Chrome v73。
我有几列和带有全屏网格的大型数据集。我没有任何自定义渲染,我正在使用batchUpdateRowData()
添加到网格中。
加载我的应用程序时,我会加载多达20000条记录的历史记录。每次绘制网格大约需要150毫秒(根据控制台)。
对于提高抽奖表现有什么建议吗?或者我期望太多吗?由于开始时要加载的数据量很大,因此每次绘制都是对网格的完全重新绘制。
不幸的是,我无法避免加载这些记录。
其他信息: 重绘的原因是因为我的网格是按时间戳降序排序的,并且历史记录是从最早到最新的。它是从持久性主题加载的,因此必须烦人地以该顺序加载。
答案 0 :(得分:0)
1)假设您正在加载20000行,那么最大的问题就是Ag-Grid在组件启动时试图加载并显示所有20000行。您应该使用infinite scrolling,它在视口/ Ag-grid表上仅显示固定数量的行,并在沿网格滚动时动态删除加载其余部分的“隐藏”行。简而言之,您必须将rowModelType
属性设置为infinite
。
2)这一点与您的row buffers有关,它的概念与上述观点类似。
3)进行无限滚动的另一种方法是使用服务器端分页,即您只获取该给定页面的x数行,并在向下滚动到下一页时获取更多的行数。
4)如果可能,请尽量不要禁用suppressColumnVirtualization,因为的原始设置可能会稍微改善性能,因为会渲染不可见的列,直到将其滚动到为止。