dc.js / crossfilter性能问题12000 +行CSV数据

dc.js / crossfilter performance issue 12,000+ rows of CSV data

本文关键字:CSV 数据 12000 问题 js crossfilter 性能 dc      更新时间:2023-09-26

我在使用dc.js和交叉过滤时有一些性能问题。我正在创建一组图形,显示一些循环数据的不同维度(代码在这里,数据在这里,可见在这里)。图表会在几秒钟后呈现,但主要的性能问题发生在点击任何图表时——过渡动画在延迟后有点"突然",而且有点不和谐。我还注意到,只要删除页面顶部的空折线图,剩下的三个图形就会表现得更好,过渡也会恢复正常。

我看过一些类似的问题,比如这个,但这似乎并不一定适用,因为我一次没有被多个维度分割。12000条记录是不是已经接近交叉过滤器所能处理的上限了?该文件只有大约1.4 MB,因此在这种大小下会出现问题似乎有点令人惊讶,但也许这一切都表明我缺乏理解。我很感激任何关于这个问题的建议,因为我被难住了。谢谢阅读

通常这意味着某些东西减慢了Crossfilter的更新速度,导致浏览器冻结,直到大部分过渡已经完成。

唯一让我注意到的是,在dayOfWeek维度的访问器函数中有两个变量声明。最好在加载数据时预先定义该属性。

我看到的唯一其他可能的问题是数据中的Date对象和基于它定义的维度。这些类型的复杂对象可能会使事情变慢(d3.js的日期解析不是非常快),但我不认为这在Chrome分析器中显示为主要问题,所以我不认为这是这里减慢你速度的原因。