使D3js DataNode树运行得更快

时间:2015-01-09 08:07:16

标签: javascript performance d3.js

我正在通过Rob Schmuecker调整这个D3示例。它是一个DataNode树,具有很多很好的功能,如平移,缩放和儿童切换 我已经删除了所有拖放功能,因为我不需要它。否则,代码与示例中的代码几乎相同(暂时)。

我希望使用节点树来填充数百个,可能是数千个节点。在1000个节点处,浏览器冻结了一点。 Firefox滞后很多,我必须停止脚本。 Chrome略微落后。

到目前为止,我唯一尝试的是创建隐藏了所有子节点的图形(添加到oParent._children,而不是oParent.children)。 Chrome很好地处理了这种方法,但firefox的表现稍好一些。

我打算添加诸如悬停效果和父子关联视觉效果等等,所以我怀疑滞后可能会成为一个更大的问题。

任何人对如何使浏览器处理滞后问题有任何进一步的建议或想法?

1 个答案:

答案 0 :(得分:0)

除了从隐藏所有子项开始之外,我最终要做的是分离数据节点和可视节点,以便实际上只在运行时创建可视节点。