AS3/Spritesheets/Starling的闪光性能



我目前正在尝试优化AS3/Flash web(浏览器)应用程序(FP11+)。这是一款全浏览器窗口闪存应用程序,通过(Greenstock的)SWFBLoader远程加载环境/背景图形,并将其添加为位图(下载时间不会造成问题)。其他次要图形,如按钮、处理/加载动画、窗口和UI元素,都是使用AS3图形api绘制的。

当加载额外的SWF以在flash应用程序中显示时,我遇到了FPS问题(目标是40)(当加载的SWF设置动画并降至零时,FPS变化很大)。平均MB使用量在50-100MB之间(据FlashProfiler报告)。

我的问题是:对远程加载的图形和/或绘制的图形使用本地精灵表会显著提高性能吗?

其次,由于Starling使用GPU进行处理和动画,将应用程序转换为使用Starling会显著提高性能吗?

或者,我是否一直专注于最大限度地提高循环、列表/向量和数据使用的性能?关于这一点,我读到了关于使用数组/列表与向量以及foreach与集合特定函数(过滤器、映射等)的不同意见。任何对这些技术进行直接比较的经验也会有所帮助。

谢谢!

当你有很多位图资产要在带有GPU的计算机或设备上显示以加速时,Starling会有很大帮助。如果您使用Starling,您将通过将各种图像放置在精灵表中来减少GPU必须执行的绘制调用次数,从而获得更好的性能。

因此,大量的图像加上大量的旋转或缩放将很好地利用GPU的优势。如果你不断地重绘矢量图形或其他画布类型的操作,Starling可能不会有多大帮助。它也不会帮助具有不受支持的GPU的计算机。

在您做出位图与渲染的决定后,应该使用探查器对实际AS3代码进行任何优化。

最新更新