【问题标题】:SVG zoom with svg-pan-zoom.js performance issues in Mozilla FirefoxSVG 缩放与 Mozilla Firefox 中的 svg-pan-zoom.js 性能问题
【发布时间】:2015-07-21 13:55:46
【问题描述】:

我正在使用 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/

【问题讨论】:

    标签: javascript firefox svg svgpanzoom


    【解决方案1】:

    检查您的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(也许可以让它们更简单:更少的边缘、节点、不渲染白色元素...)。

    【讨论】:

    • 更改 refreshRate 没有帮助。我通过添加一个带有 .svg 文件的示例来编辑我的帖子...我不知道为什么 firefox 这么慢...
    • 我不会因为从其他地方导出的项目不佳(或自动)而责备脚本或浏览器。人们必须明白仍然存在限制(cpu、内存等)。建议是深入实际的 svg 结构并找出您的项目错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 2012-02-09
    • 2013-12-31
    • 2012-07-30
    • 1970-01-01
    • 2017-12-28
    • 2022-01-25
    相关资源
    最近更新 更多