0

我正在使用 javascript svg-pan-zoom.js ( https://github.com/ariutta/svg-pan-zoom ) 库在 Web 应用程序中缩放和平移 svg。在 Firefox 中放大非常缓慢和滞后,而在 Chrome 和 IE11 中放大效果非常好(使用呈现平面图的 5MB .svg 文件进行测试 - 如果文件较小,则此问题不那么明显)。平移工作正常。我在论坛上阅读了很多关于这个问题的主题,但我还没有找到任何解决方案。有谁知道是什么导致了这个问题以及如何解决它?

Example: http://jsfiddle.net/coz3fd0L/3/

4

1 回答 1

3

检查您的refreshRate选择。也许你设置了一个很高的数字。如果不是,那么您可以设置一个较低的数字(例如 10,这意味着每秒最多 10 帧),如果可以改善您的问题。

除此之外,我不知道 svg-pan-zoom 中的任何其他问题。至少如果平移是平滑的,那么缩放应该是相同的。

也许你的 SVG 有很多边/曲线/节点,而 Firefox 根本不擅长调整这些东西的大小。或者在使用矩阵变换时调整大型 SVG 的大小不好(矩阵变换用于 svg-pan-zoom 中的缩放/平移)。

更新:据我所知,这纯粹是一个 Firefox 问题(或它的方式)。只需从您的示例http://imgh.us/test_51.svg打开 SVG就会占用 100% 的 CPU(用于页面滚动)。

此外,我确实尝试手动更改矩阵变换值(以测试它是否是 svg-pan-zoom 问题)并且它无论如何都非常慢。

我看到的唯一解决方案是尝试优化您的 SVG(也许可以让它们更简单:更少的边缘、节点、不渲染白色元素......)。

于 2015-05-11T22:16:11.720 回答