SVG缩放平移优化

编程入门 行业动态 更新时间:2024-10-28 18:29:31

SVG<a href=https://www.elefans.com/category/jswz/34/1770385.html style=缩放平移优化"/>

SVG缩放平移优化

项目场景:

项目场景:项目需要使用SVG进行绘制可视化界面;将相关的平面设计CAD文件转换成svg文件,并将svg嵌入html页面中,可使用dom操作svg.


问题描述

由于转换的svg文件太大了(5~10M),浏览器渲染的过程中异常卡顿。平移、缩放很难进行。这里记录svg优化的奇思妙想。

解决方案:

首先从网上开始查找相关的优化博客,最终只找到一个有用的,也是感谢这位大佬,附上连接:
链接: SVG平移缩放优化

第一步:根据大佬建议,直接采取鄙人提供的插件panzoom.js;github链接:链接: panzoom

用了开源插件好多了,起码可以移动和缩放了,但依然卡顿,不够丝滑,估计还是会被客户吐槽;继续研究大佬的博客,使用requestAnimationFrame,发现panzoom已经使用了,后续的方案已经无有效提升了。

  • 想起svg卡顿的原因是由于GPU无法及时渲染造成的,那我如果在缩放、平移的过程中减少svg需要渲染的图像,会不会丝滑一点!!!*

第二步:利用svg的opacity属性,在移动事件开始时设为0,结束时设为1


  • 在github文档中panzoom提供一下事件 *
var instance = panzoom(element);
instance.on('panstart', function(e) {console.log('Fired when pan is just started ', e);// Note: e === instance.
});
instance.on('panend', function(e) {console.log('Fired when pan ended', e);
});


将一半不影响大局的svg标签隐藏后,果然丝滑了很多v!!!天才想法

更多推荐

SVG缩放平移优化

本文发布于:2023-07-03 21:54:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1012496.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:缩放   SVG

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!