【问题标题】:Web application in SVG, performance issues and viabilitySVG 中的 Web 应用程序、性能问题和可行性
【发布时间】:2011-04-05 15:18:37
【问题描述】:

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

以下是我想到的优点:

  • 与分辨率无关
  • 能够缩放项目并保留形状和外观
  • 即将进行浏览器优化
  • 我们不必在画布中绘制所有内容,我们可以利用坐标来绘制单位(项目)
  • 无需学习XML;易于学习和使用?
  • SVG 非常广泛,因此应该可以轻松处理各种设计形状
  • 像画布一样,我们可以使用 HTML5 和 CSS3 功能以及 SVG(拖放、高级 CSS3 效果),甚至是 jquery 效果
  • 因为我们不会使用任何复杂的 3d 渲染,所以大概全屏矢量不会对性能造成太大影响?

很想听听您的 cmets 基于过去的经验,了解 SVG 用于整个 Web 应用程序渲染的可行性。

我们已经研究了将近两周的画布,并且确信我们可以从中获得所有需求,但如果 SVG 也能做到这一点,那将是非常棒的并且实际上是首选(?)。

干杯

【问题讨论】:

    标签: web-applications html canvas svg


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      一些未分类的思考:

      Canvas 只是一个位图。渲染大量对象时速度更快。另一方面,SVG 必须维护对它渲染的每个对象的引用,并显着降低大量对象的速度。

      ...但是这些引用意味着处理您绘制的事物的一些步法是为您完成的。在渲染非常大的对象时,SVG 速度更快。

      不过,SVG 的采用率低于 Canvas。但是浏览器现在两者都有,所以我想我并不担心。

      在 Canvas 中游戏可能会更快。一个巨大的地图程序在 SVG 中可能会更快。

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

      Canvas 仍然是一个活生生的规范(MeasureText 返回宽度但没有高度!),但到目前为止我一直很喜欢使用它。

      【讨论】:

      • 硬件加速在 FF 中开启(现在还是 4?),但现在默认没有开启。
      • 谢谢西蒙。我们将看看是否可以在 SVG 中渲染我们应用程序的整个界面。它主要是所有静态渲染,它们将与 SVG 的其他层叠加。有没有完全用 SVG 呈现的应用程序示例?干杯,
      猜你喜欢
      • 2010-10-09
      • 2013-03-30
      • 2012-08-22
      • 2014-09-13
      • 2011-07-09
      • 2015-03-31
      • 2017-07-02
      • 2010-09-30
      • 1970-01-01
      相关资源
      最近更新 更多