我的页面上有几个 SVG,可能最多 10-15 个。它们并不是特别复杂,一个路径示例可能如下:
<path d="M79.7315 149.8506 a248.48549470442975 248.48549470442975 0 0 0 462.2685 -51.850599999999986a229.28617885359205 229.28617885359205 0 0 1 -427.2987 40.6302M79.7315 149.8506 a75 75 0 1 1 34.969800000000006 -11.220399999999984"></path>
它基本上是一个讲话泡泡,它会从某人的嘴里发出,所以实际上只有几条弧线,也许是一些线条,而有些我见过它什么都没有。
但是在我的页面上,当鼠标移动时,路径会更新(它们会发生显着变化,但形状仍然相同,因此路径不会更大)。当这种情况发生在 Ipad 等移动设备上并且页面上有 3 个以上的设备时,我可以注意到显着的性能下降。
我认为这取决于我获得新路径的计算,但是我使用了 chrome 工具(性能选项卡),似乎我设置该属性的贡献相当大。所以我的问题...
当鼠标移动它做一个
element.attr("d", newPath);
如前所述,这可能发生在 15 个单独的 svg 上。
有没有更有效的方法来设置路径?有没有一种方法可以设置每个路径,但只调用一次重绘/更新?
非常感谢