首页 > 解决方案 > 将重 SVG(大约 10k 矢量对象)加载到画布中

问题描述

我们想将重型 SVG 的 JSON 对象(大约 10k 矢量对象)加载到画布中。现在我们能够做到,但由于画布中矢量对象的数量,这个过程非常滞后。下面是我们关注的流程

  1. 加载保存在数据库中的 SVG 作为画布中的 JSON 对象
  2. 所以用户可以编辑。
  3. 在 SVG 中转换画布。
  4. 将数据库中编辑的 SVG 保存为 JSON 对象。

当矢量对象的数量较少(小于 2K)时,这可以正常工作,但是当数量变大时,系统开始滞后并且一些它崩溃了。我们想要管理大约 15k - 20k 个矢量对象。我们为此使用了fabricjs。

->

标签: javascriptangularjssvgcanvasfabricjs

解决方案


尝试使用最新版本的 fabricjs(2.3)。它使用画布来缓存路径。这是仅在调整大小时绘制路径的方式。


推荐阅读