哪个具有更好的性能,库中的符号或这些符号的导出图像?

时间:2012-01-14 18:41:13

标签: iphone performance actionscript-3 ipad

我最近选择切换到一种方法,我的库完全是空的,我通过Embed标签嵌入了我需要的每个图像/动画/声音,因为它会让我的生活更轻松。在我的库中有很多符号会导致CS5运行速度非常慢,这真让我烦恼。

这对于为电脑制作游戏来说完全没问题,但我正在开发我的第一款iPhone游戏,并且我注意到游戏在几秒钟的游戏后开始滞后。它甚至不是一个复杂的游戏,但它确实有很多具有透明度的图像。所以我想知道如果我忘记空库方法它会运行得更快。我真的不知道这会如何影响性能,但这是我第一次担心性能问题。但我知道影响性能的其他因素,如透明度和对象池(只需阅读此内容)。

同样的游戏在iPad上运行得更糟,即使它是一个功能更强大的设备?

2 个答案:

答案 0 :(得分:1)

使用库和[Embed]元标记都会影响IDE的性能,但是它们会在编译时进行评估,并且会生成几乎相同的字节代码。

游戏在运行时的性能是一个完全不同的问题,尽管你可以通过重新思考哪些图像嵌入为位图以及哪些用作矢量精灵来获得好结果,如何组织更大的图像(例如创建一个基本的玩家精灵,并通过构图添加单个外观,而不是使每个玩家变体成为全尺寸动画)并尝试减少透明度和alpha蒙版的使用。

有许多关于改进on the AVM2on iOS devices的ActionScript性能的好文章。尝试搜索“ActionScript优化运行时” - 它应该会产生大量结果。

答案 1 :(得分:1)

在库中包含图像意味着Flash会在导出SWF / SWC时压缩它们。这可能是也可能不是。

使用[Embed]标签意味着您可以在Photoshop之类的地方自行压缩它们,并完全控制输出。

你说你的“游戏在几秒钟的游戏后开始滞后”。这似乎是一个内存/设计问题,而不是您的图像是通过代码嵌入还是作为库符号嵌入。做一些分析,看看你花了大部分时间在哪里,并检查你没有内存泄漏。