【发布时间】:2014-10-03 23:53:27
【问题描述】:
我正在使用 D3.js 来渲染大约 500 个节点和它们之间的链接。布局通常需要 10 秒才能稳定下来(迭代收敛)。
我如何加快整个过程,比如说,节点在动画期间移动的速度提高了 2 倍。那么时间将是 50%(用于迭代的 CPU 时间应该远小于 10 秒,但是我怎样才能减少动画时间)。
我试过了:
- 在 for 循环中手动管理 tick() 一定次数,比如 100 次,速度会更快,但动画会对用户隐藏,这是一个很大的损失。
- 增加链接强度会有所帮助,节点在动画期间移动得更快。但是布局非常敏感,任何小的拖动都可能导致许多节点移动。
有什么建议吗?谢谢。
【问题讨论】:
-
如果您跳过刻度事件进行绘图,请使用过渡而不是仅设置节点位置。这样布局看起来仍然流畅。
标签: javascript d3.js