原生Flash渲染与Starling Framework渲染为宝石风格的网页游戏

时间:2012-11-20 14:00:10

标签: actionscript-3 flash flash-builder starling-framework

我正在使用Flash构建器创建一个带有宝石的风格游戏,我想知道它是否最好(更高帧率,更少渲染,快速在所有类型的计算机上)使用actionscript 3的原生渲染(显示列表)或Starling 2D Framework的gpu渲染?我想要使​​用原生flash渲染的原因是因为从我的研究中我了解到flash会利用重绘区域并且只重绘需要更新的舞台部分,而starling会在每一帧重新渲染整个舞台。在宝石风格的游戏中,有许多静态对象和较少的动态对象,因此通常整个舞台不需要每帧重绘,只需要重新绘制舞台的一小部分。性能是否更好地坚持使用actionscript 3的本机渲染调用,或者使用starling框架来利用gpu加速渲染会更明智吗?任何观点都会非常感激。感谢。

1 个答案:

答案 0 :(得分:3)

如果您使用的是图片,Starling会更快,特别是在移动设备上。

静态区域可以呈现为单个Sprite,也可以在运行时将其展平以提高性能。

如果您正在绘图,在Starling中您需要绘制一个位图,然后将其用作Sprite。但是,如果所有内容都在同一个精灵表中,你将获得更好的性能。

虽然Starling确实绘制了每一帧,但这是一种不同的操作。这是实际发生的事情:

1)应用程序使用的纹理(图像)上传到GPU。这样做了一次。

2)每个框架,Starling告诉GPU“使用此比例和旋转在此位置渲染此纹理”。这称为“绘制调用”,但速度非常快。 Starling的一个好处是,它可以在某些情况下批量调用这些绘制调用,以获得严重的速度提升。

所以是的,每一帧都“重新绘制”,但使用了GPU的硬件加速。

在移动设备上,Starling(或类似设备)实际上是以60fps执行某项操作的唯一方式。