-3

我对 d3.js 在地图上显示点的性能有一些问题。

我正在使用我在这里找到的这段漂亮的代码作为我的代码https://gist.github.com/bobuss/1985684的起点

基本上链接上的代码所做的是在地图上绘制点并绘制曲线以连接线。但是,当我尝试添加更多数据点(大约 300 个)时,它会以某种方式使我的浏览器崩溃或延迟很多

所以我想知道在这种情况下是否有任何方法可以真正提高性能..

谢谢!

4

1 回答 1

2

我考虑使用 d3 来显示一些基因组数据(散点图​​上的 23k 点)。

它只是无法工作,当您添加 23k dom 节点时,大多数浏览器都会崩溃,并且如果您尝试进行一些交互(悬停,单击),您最终会遇到太多事件侦听器并且一切都死了。

我喜欢 d3,我从 protovis 时代就开始使用它,但根据我的经验,它在几千个元素之后变得无法使用,每次我不得不创建这样的图表时,我最终都从头开始构建它并在画布上实现它。最后你会遇到一系列全新的问题——实现你自己的命中测试、事件、模拟悬停......

这是一场噩梦。

JS 中的“大数据”图表没有很好的解决方案,至少据我所知没有。

老实说,这是一种耻辱,看到我的 MacBookPro 以最大速度旋转他的风扇并且浏览器没有响应——因为我试图在 i7 8GB ram 机器上绘制 25k 点,这是一派胡言。

但这就是当我们尝试将浏览器用于不该做的事情时得到的结果。是的,2D GPU 加速有帮助,但作用不大。

于 2013-03-24T21:03:13.613 回答