具有交叉滤波器的D3变成非常慢的大型数据集

D3 with crossfilter becomes very slow large datasets

本文关键字:非常 数据集 大型 D3 滤波器      更新时间:2024-01-05

我有一个类似于交叉过滤器示例的可视化,只是交叉过滤器的选择会动态更新时间线。该代码可以很好地处理大约100个元素。我用近5000个元素测试了代码,当应用/更改画笔来过滤维度时,速度变得非常慢。我想知道性能问题在哪里,以及如何解决它。大约有5000个svg-rect的时间线表现得很好。在应用和调整笔刷大小时,交叉过滤器直方图非常慢(不是创建直方图,而是在调整和应用笔刷大小时)。我甚至在笔刷更改后禁用了时间线更新,这对性能没有帮助。我使用类似于交叉滤波器示例中的svg路径方法生成交叉滤波器直方图。我不知道为什么画画要花这么长时间。

它可能与交叉过滤器有关吗?关于数据的注意事项:虽然交叉过滤器中只有几千个数据元素,但这些元素非常大(包含大约一百个属性)。不确定这是否是造成问题的原因。

谢谢

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