0

每次使用 d3 画笔进行缩放/平移时,我都会重绘几个图表。

但是,当我有大量渲染元素时,重绘开始有点慢。

我不是在每次移动画笔时都重绘所有元素,而是想知道转换(翻译)已经绘制的元素是否可行,并且只在需要更新数据时才重绘。

我认为它会在向右/向左平移时大大提高我的可视化性能,不是吗?

有什么见解吗?

4

1 回答 1

1

一般来说,你接触 DOM 的次数越少,你的性能就会越好。细节是特定于浏览器和平台的,但总的来说,这是非常高水平的性能排序(从最昂贵到最低排序):

  1. 创建和删除 DOM 元素。
  2. 修改现有 DOM 元素的属性。
  3. 在内存中 JavaScript(也就是说,根本不涉及 DOM……例如数组迭代)。

因此,如果您可以通过简单地使用 transform 属性修改现有元素的目标子集来获得所需的结果,我想您会好得多。

当然,如果没有看到实际的代码和用例,就不可能肯定地说出任何事情。

于 2013-09-24T17:34:52.263 回答