在 d3.js 中使用大型 JSON 文件会导致巨大的性能 hits/crashes
Using large JSON files with d3.js causes massive performance hits/crashes
所以我目前有一个巨大的 JSON 文件,大小约为 90mb,行数约为 3/4 百万行。我正在尝试使用 d3.json 命令从中创建一个图表。 d3.json 成功生成数据,我可以渲染图形,但我的树中存在一个节点,其子节点可能超过 500 个。这导致 Chrome 崩溃,Firefox 逐渐停止,但没有崩溃,让我有机会关闭节点并恢复性能。
根据这篇 Whosebug 文章 (d3 — Progressively draw a large dataset),我可以使用它来逐步绘制数据集。 JSON 可以通过更智能的拼接来完成吗?但是,最终结果会不会和Firefox一样呢?
有什么方法可以为子节点创建一个分页系统吗?除了不显示那么多子节点之外,这里有可行的解决方案吗?
提前致谢。
我解决了这个问题来自 d3 完成的动画和绘图,所以我最终在 JSON 中创建了伪文件夹以最小化显示的节点数量。
因此,我没有尝试一次扩展 26154 个节点,而是决定扩展 104 个文件夹,每个文件夹包含 250 个左右的节点。
希望这对遇到同样问题的人有所帮助。
所以我目前有一个巨大的 JSON 文件,大小约为 90mb,行数约为 3/4 百万行。我正在尝试使用 d3.json 命令从中创建一个图表。 d3.json 成功生成数据,我可以渲染图形,但我的树中存在一个节点,其子节点可能超过 500 个。这导致 Chrome 崩溃,Firefox 逐渐停止,但没有崩溃,让我有机会关闭节点并恢复性能。
根据这篇 Whosebug 文章 (d3 — Progressively draw a large dataset),我可以使用它来逐步绘制数据集。 JSON 可以通过更智能的拼接来完成吗?但是,最终结果会不会和Firefox一样呢?
有什么方法可以为子节点创建一个分页系统吗?除了不显示那么多子节点之外,这里有可行的解决方案吗?
提前致谢。
我解决了这个问题来自 d3 完成的动画和绘图,所以我最终在 JSON 中创建了伪文件夹以最小化显示的节点数量。
因此,我没有尝试一次扩展 26154 个节点,而是决定扩展 104 个文件夹,每个文件夹包含 250 个左右的节点。
希望这对遇到同样问题的人有所帮助。