D3:在绘制和重绘一系列作品时,我可以获得更好的表现吗?

时间:2014-02-25 15:14:01

标签: javascript performance svg d3.js

我通过将矩形绑定到我的数据(时间和值),用d3创建了一个线性热图:

heatmaps

每个热图可以包含数百个(在某些情况下为数千个)<rect>个元素。浏览器最初没有问题地绘制它们,但是当我使用d3轴(缩放行为和程序重绘)移动我的时间轴时,我发现转换中存在巨大的性能问题(一个已知的SVG缺点)。

有什么办法可以解决这个问题吗?使用具有相同数量的<linearGradient>元素的<stop>会改善什么吗?我需要使用canvas而不是SVG吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

线性梯度可能无济于事,因为每个站点仍然需要一个DOM元素。画布听起来像是要走的路。