需要加速我的SVG。我可以转换为WebGL或canvas吗?
我有一个包含10138个部分的SVG图形,所以运行速度很慢。需要加速我的SVG。我可以转换为WebGL或canvas吗?,canvas,svg,html5-canvas,webgl,Canvas,Svg,Html5 Canvas,Webgl,我有一个包含10138个部分的SVG图形,所以运行速度很慢。 我想让它跑得更像 以下是我正在考虑的解决方案/问题 有没有办法让SVG部件以处理器密集度较低的方式呈现 我可以将SVG转换为WebGL或画布吗 我可以让它作为SVG运行,但通过WebGL或画布进行渲染吗 我只是想快点。。想法 这是一个截图 具有大量片段的SVG的减速来自SVG的非保留模式。如果没有关于SVG外观和行为的更多细节,就很难提出具体的建议。因此,一般来说: 如果您的图形通常是静态的(您不需要跟踪每个图形对象的鼠标事件
我想让它跑得更像 以下是我正在考虑的解决方案/问题
- 有没有办法让SVG部件以处理器密集度较低的方式呈现李>
- 我可以将SVG转换为WebGL或画布吗
- 我可以让它作为SVG运行,但通过WebGL或画布进行渲染吗
具有大量片段的SVG的减速来自SVG的非保留模式。如果没有关于SVG外观和行为的更多细节,就很难提出具体的建议。因此,一般来说:
- 如果您的图形通常是静态的(您不需要跟踪每个图形对象的鼠标事件),您可以使用HTML5画布(在该画布中,图形命令将像素blit到图像中,然后您基本上拥有一个静态图像)
- 如果图形中有大量重复的部分,那么将SVG与
元素一起使用可能会减少内存占用并提高性能
- SVG根据要绘制的对象数量进行交互缩放
- 画布以分辨率进行交互缩放李>
然而,与SVG相比,Canvas更需要用户交互 您也可以尝试混合它们(有关更多详细信息,请参阅)。
以下是一些有用的资源:
- vs(使用D3.js)
- 提供有用信息的线程