我一直在阅读有关Stage3D的一些信息,这将是与 Flash Player 11 一起使用的新 API。
这个 API 会以任何方式提高 2D 渲染(矢量)的性能,还是该库主要用于渲染 3D?
任何有关 Stage3D 将如何影响 2D 矢量渲染性能的信息都非常棒。
我一直在阅读有关Stage3D的一些信息,这将是与 Flash Player 11 一起使用的新 API。
这个 API 会以任何方式提高 2D 渲染(矢量)的性能,还是该库主要用于渲染 3D?
任何有关 Stage3D 将如何影响 2D 矢量渲染性能的信息都非常棒。
您可以使用 Stage3D 来渲染优化的 2D 图形,但您必须进行临时开发。经典的 2D 动画不会得到改进,也无法在 Stage3D 上显示。
Adobe 已经开发了一个使用 Stage3D 优化 2D 的框架:Starling。
我记得当这个项目不久前启动时,它看起来很有希望: http: //www.flashrealtime.com/m2d/
它不会提高向量 2d 渲染的性能,但如果你想提高渲染大量位图或 spritesheets 的性能,它可以做得很好。您还需要注意,通过在 stage3D 中放置一些内容,您将失去内置于显示列表中的事件机制。
3D 卡(或位于其顶部的引擎)非常适合渲染大量三角形。这意味着您需要将任何图像拆分为大量三角形,并且可以对三角形进行任何您想要的转换。这些单个三角形中的每一个的方向代表最终对象的形状,这些三角形是其构建块。
另一方面,对于矢量,您只提供坐标,这意味着矢量显示引擎决定如何绘制和填充空白。现在,如果您的矢量保持不变并且形状和大小没有变化,您可以将整个矢量缓存为位图,并对位图进行任何转换,这可能可以通过使用 3D 显卡来加速。