带有crossfilter的D3变得非常慢,大数据集

时间:2012-07-22 04:13:26

标签: javascript canvas svg d3.js crossfilter

我有一个类似于crossfilter示例的可视化,除了crossfilter选择动态更新时间轴。该代码适用于大约100个元素。我用接近5000个元素测试了代码,当应用/更改画笔来过滤尺寸时,它变得非常慢。我想知道性能问题在哪里以及如何解决它。约5000 svg rects的时间线呈现良好。在应用和调整画笔大小时,交叉滤波器直方图非常笨拙(不会创建直方图,但在调整大小和应用画笔时)。我甚至在刷子更改后禁用了更新的时间线,这对性能没有帮助。我使用类似于crossfilter示例中的svg路径方法生成交叉滤波器直方图。我不确定为什么绘制画笔需要这么长时间。

它可能与crossfilter有关吗?关于数据的注释:虽然crossfilter中只有几千个数据元素,但元素非常大(包含大约一百个左右的属性)。不确定这是否会导致问题。

由于 一个

1 个答案:

答案 0 :(得分:1)

通常,您所描述的性能问题将由浏览器呈现生成的SVG而不是Javascript中的数据实际处理引起。您可以尝试的一件事是使用HTML画布而不是SVG。请注意,转换代码这样做不会是一个简单的过程。