对包含大量元素的 SVG 文件进行操作

Operating on SVG files with a large number of elements

假设通过 R 生成的 SVG 文件表示一个包含大约 160000 个数据点且文件大小超过 20 MiB 的图形。具体来说,让我们假设此 SVG 文件包含 160000 XML 个圆形定义。例如,参见 this graph。因此,该文件对于科学项目来说并非非典型。

进一步假设您希望 post 在 SVG 编辑器中处理此文件(例如,Inkscape)。

我发现大于 20MiB 的 SVG 文件几乎不可能通过典型用户系统上的典型 SVG 编辑器进行操作(x86_64 GNU/Linux,4 个 CPU,20 GiB RAM) ,因为文件几乎没有加载到 Inkscape 中。

想到了这个问题的几个可能的解决方案,每个都有一个严重的缺点:

对于如何打开和手动编辑此类包含大量 XML 元素的 SVG 文件,有没有人有建议?

您肯定已经找到了一个很好的 SVG 渲染器压力测试:)

您的 SVG 包含似乎完全不必要的剪辑路径,该路径应用于每个数据点。

如果我用一组包围这些点并将剪辑路径应用到这组点,渲染时间会显着减少。

  • Chrome:255 秒 -> 58 秒
  • Firefox:188 秒 -> 14 秒

如果我完全删除该剪辑路径,我会得到:

  • Chrome: 27 秒
  • Firefox:10 秒。

不幸的是,这些更改对 Inkscape 中的渲染时间没有帮助,但希望它能以某种方式帮助您。如果您需要比这更快的渲染时间,您可能需要按照罗伯特所说的那样做,并以某种方式减少数据点的数量。