nvd3 对大量数据的性能

Performance of nvd3 for a lot of data

我有一个应用程序,我必须在我的 angular 应用程序中的 jqgrid table 中绘制很多小的 nvd3 图表。我正在使用 $compile 编译图表。但是,我注意到随着数据数量的增加,性能越来越慢(绘制 1 个小图表仍然需要很快,但要等待整个事情需要很长时间)

我注意到这是一个基于此 post 的已知问题,因为它是 DOM 操纵。我尝试了几个技巧,比如依次编译图表等,但仍然感觉很慢。此问题是否有已知的解决方法?

我找到了提高性能的方法。我发布这个是为了帮助其他和我有同样问题的人。

问题是: 我将每个 nvd3 图表作为 angular 指令的小型可重用组件,因此当我在 jqgrid 中绘制它时需要调用 $compile。

$compile 确实不是最快的方法,因此删除 $compile 调用并直接在 jqgrid 中使用 <svg></svg> 解决了我的问题。

因此,如果您遇到性能问题并且正在调用 $compile,也许要做的第一件事就是删除 $compile 调用。我是 Angular 的新手,所以希望这对遇到同样问题的其他人有所帮助。