Web 缩放时,Firefox会缓慢渲染svg文件
我目前正在开发一个由html、css、svg和javaScript文件组成的交互式地图。以下是地图的早期构建: 您可以使用鼠标滚轮进行放大和缩小(放大的末端定位不远)。我担心的是,Chrome90.0中的缩放效果很好,而Firefox88.0中的缩放动画效果不稳定 我在右下角实现了一个帧速率计数器,在Firefox中,在缩放时fps下降到10 fps 地图由几个分层的SVG文件组成,这些文件通过绝对定位进行堆叠。虽然我已经尽可能优化了所有SVG,但基本层(类为“layer-0”的div)的大小是176KB 缩放动画通过css转换完成:Web 缩放时,Firefox会缓慢渲染svg文件,web,svg,firefox,gsap,Web,Svg,Firefox,Gsap,我目前正在开发一个由html、css、svg和javaScript文件组成的交互式地图。以下是地图的早期构建: 您可以使用鼠标滚轮进行放大和缩小(放大的末端定位不远)。我担心的是,Chrome90.0中的缩放效果很好,而Firefox88.0中的缩放动画效果不稳定 我在右下角实现了一个帧速率计数器,在Firefox中,在缩放时fps下降到10 fps 地图由几个分层的SVG文件组成,这些文件通过绝对定位进行堆叠。虽然我已经尽可能优化了所有SVG,但基本层(类为“layer-0”的div)的大小
@keyframes animateZoom-2 {
100% {
transform: scale3d(2, 2, 1);
}
}
我已经尝试过通过库进行缩放,但它会使所有浏览器的缩放速度更慢
如果我删除这个大的基本层SVG文件,缩放在所有浏览器中看起来都很流畅。不幸的是,无法通过删除细节来简化大型SVG文件
所以我的问题是:为什么Firefox中的SVG缩放速度比其他浏览器慢得多?有没有办法绕过这个问题。可能会生成一个图像,用图像替换SVG文件,缩放图像,最后切换回SVG文件?速度慢仅仅是因为Firefox的渲染方式与Chrome不同。尝试确保刻度从不超过1,看看这是否有帮助。您还应该尝试隐藏当前不在屏幕上的元素。