代码之家  ›  专栏  ›  技术社区  ›  Kayote

SVG中的Web应用、性能问题和可行性

  •  6
  • Kayote  · 技术社区  · 14 年前

    我们是一家新成立的公司,将为时尚行业开发一款网络应用程序。我们曾考虑使用canvas(不担心IE支持),但现在在阅读了Raphaeljs和jQuerySVG之后,我们对用SVG构建整个接口和单元的可能性很感兴趣。

    以下是我想到的优点:

    • 分辨率无关
    • 浏览器优化即将到来
    • 无需学习XML;易于学习和使用?
    • SVG非常广泛,因此应该可以轻松地处理各种设计形状
    • 像canvas一样,我们可以使用HTML5和CSS3特性以及SVG(拖放、高级CSS3效果),甚至jquery效果
    • 因为我们不打算使用任何复杂的3d渲染,所以大概不应该对全屏向量的性能有太大的影响吧?

    我很想听听您对SVG在整个web应用程序渲染中的可行性的评论。

    我们已经研究了canvas将近两个星期了,我们确信我们可以从中得到我们所有的需求,但是如果SVG也能做到这一点,那就太棒了,而且实际上是首选(?)。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Simon Sarris    14 年前

    画布只是一个位图。渲染大量对象时速度更快。另一方面,SVG必须保持对它呈现的每个对象的引用,并且随着大量对象的出现而显著减慢速度。

    ……但这些参考资料意味着处理你画的东西的一些步法是为你做的。当呈现非常大的对象时,SVG速度更快。

    在画布上玩游戏可能会更快。在SVG中,一个巨大的map程序可能会更快。

    这里有一些针对Canvas的浏览器优化。上周是Chrome 7.0硬件加速的首次亮相。IE9预览版和Opera也已经有了硬件加速(不记得FF)。

        2
  •  0
  •   Rob    14 年前

    我对简单的徽标和图标使用SVG,唯一的问题是webkit错误,认为背景呈现为白色,而不是像其他浏览器那样透明。在一台速度很慢的机器上,我注意到第一次渲染时,有七个物体一个接一个地闪烁着,但我不知道自己是否做错了什么。