【问题标题】:Performance Issue on an HTML5 WebsiteHTML5 网站的性能问题
【发布时间】:2011-06-04 03:26:28
【问题描述】:

我正在构建一个使用 SVG、Canvas,当然还有 HTML 的网页。这个页面的想法是动画在画布上重绘一些 svg 路径。我喜欢重绘的路径使用命名空间属性进行注释,所有其他路径都按原样显示。这一切都很好!在我向页面添加一些内容时,性能泄漏出现在最后两个小时。 但首先是页面设置的一点说明:

SVG 和 Canvas 的宽度均为 4000 * 4000 像素,并直接位于一个容器 div 中。从一个“页面”到另一个意味着补间这个容器的左上边缘。这也很好,因为关于插入文本的讨论转向使用 html div 容器,而不是 svg 本身。 因此,我插入了第三个容器 div,其中存储了所有文本,并且在加载 svg 后,它们被绝对定位。 对于每个 div,我都添加了“泛补间”,甚至绘图性能也下降到了一个太低的点。 我正在寻找将性能恢复到用户可以接受的水平的方法。我的想法之一是将文本 div 设置为显示:无,或可见性:隐藏,只要它们实际上没有显示。另一种选择是仅对 svg 和画布进行补间,在这一步完成放置 text-div-container 之后。但我目前不确定哪种解决方案更好,或者是否没有更好的解决方案。所以如果有人有想法,请告诉我。

感谢阅读! 问候菲利普

【问题讨论】:

  • 请指定您正在测试的浏览器和版本 -- 不同浏览器之间的性能可能会有很大差异。
  • 我是用firefox4开发的,但也可以在ie9,最新的safari,chrome和opera中运行
  • 所以,我刚刚实施了解决方案,将所有 html 元素设置为可见性:当它们不显示时隐藏并且所有情况都变得更好了,或者换句话说:情况没有不要变得更糟:)

标签: javascript html canvas svg


【解决方案1】:

尝试以间隔(比如 10 毫秒或 50 毫秒)平移外部“文本 div”。我在渲染方面有很多,在 HTML 中我通常使用更大的值,比如 100 毫秒或 150 毫秒(我用画布来做这个)。 不明白您是平移外部 div 还是平移所有“文本 div”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多