2010-08-30 66 views
6

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

这里有,我想起优势:

  • 分辨率无关
  • 放大的项目和保持形状,并期待
  • 浏览器优化未来的道路上
  • 我们没有能力我们可以利用坐标绘制单位(项目)
  • 无需学习XML;容易学习和使用?
  • SVG是相当广阔所以应该从容应付各种设计形状
  • 像画布,我们可以使用HTML5 & CSS3特性一起SVG(可拖放,先进的CSS3效果),即使jQuery效果
  • 因为我们不是要使用任何复杂的3d渲染,所以大概不应该有全屏幕矢量的性能打击太多?

很想听听您基于过去的经验,对整个Web应用程序渲染使用SVG的可行性的评论。

我们已经研究了近两周的画布,并确信我们可以从中获得所有需求,但是如果SVG可以做同样的事情,那将会非常棒,而且实际上更倾向于(?)。

干杯

回答

3

一些未分类的深思:

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

...但这些引用意味着处理你绘制的东西的一些步法是为你完成的。当渲染非常大的对象时,SVG速度更快。尽管如此,SVG已经比Canvas有更差的采用。但浏览器现在都有了,所以我不会在那里看到很多担心。

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

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

画布仍然是一个活生生的规范(MeasureText返回一个宽度,但没有高度!),但我一直很喜欢它的工作。

+0

硬件加速在FF(现在还是4?)中打开,但现在默认情况下不会打开。 – Rob 2010-08-31 13:09:28

+0

谢谢西蒙。我们将看看我们是否可以在SVG中呈现应用程序的整个界面。它主要是所有的静态渲染,它们将与SVG的其他图层重叠。 是否有任何应用程序在SVG中完全呈现在那里? 干杯, – Kayote 2010-09-01 06:18:29

0

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