优化tweenlite for IPhone Flash应用程序

时间:2011-03-03 23:19:42

标签: iphone flash ios

我有一个带有位图250x130的介绍屏幕,我想淡入淡出。 我正在使用tweenlite,它在Pc看起来很棒,但在iPhone上看起来很棒 像1或2 fps,真的很慢。 只有2个文本字段和动画Bitmap。电影设置为 默认24fps。代码是

包{

import flash.display.MovieClip;
import com.greensock.TweenLite;
import com.greensock.easing.*;

public class intro extends MovieClip {


    public function intro() {
        fadesIn();
    }

    function fadesOut():void{ if (this.visible) TweenLite.to(mc, 4, {delay:1,ease:Cubic.easeInOut, alpha:0,onComplete:fadesIn});}
    function fadesIn():void{ if (this.visible) TweenLite.to(mc, 4, {delay:1,ease:Cubic.easeInOut, alpha:1,onComplete:fadesOut});}

}

}

iphone渲染是GPU。我有stage.quality = StageQuality.LOW;在第1帧。

感谢

2 个答案:

答案 0 :(得分:1)

iOS交叉编译应用程序的性能考虑因素略有不同,因为它们用于呈现图形和处理时间线的方式不同,因此它们适用于本机Flash应用程序。

以下是优化iOS交叉编译的额外阅读。

http://www.adobe.com/devnet/flash/articles/optimize_content_ios.html

http://www.yeahbutisitflash.com/?p=986

主要涉及位图缓存,准确有效的边界测量(在使用Flex时尤为重要),并确保您的Actionscript尽可能优化。

答案 1 :(得分:1)

使用Starling(http://gamua.com/starling/)有时是在移动设备上获得良好性能的唯一方法,因为它在设备上完全使用GPU。

从Adobe网站(http://help.adobe.com/en_US/as3/mobile/WS901d38e593cd1bac-3d719af412b2b394529-8000.html):

  

在AIR应用程序中启用硬件图形加速   包括应用程序描述符中的gpu   (或直接使用Stage3D)。您   无法在运行时更改渲染模式。在台式计算机上,使用   gpu将回归到   直接

     

注意:为了利用AIR加速Flash内容的GPU加速   对于移动平台,Adobe建议您使用   renderMode =“direct”(即Stage3D)而不是renderMode =“gpu”。   Adobe正式支持并推荐以下Stage3D   框架:Starling(2D)和Away3D(3D)。有关Stage3D的更多详细信息   和Starling / Away3D,见http://gaming.adobe.com/getstarted/

值得注意的是,如果对象被alpha化,则cacheAsBitmap不起作用。

http://www.republicofcode.com/tutorials/flash/as3cacheasbitmap/

  

您应该注意,cacheAsBitmap属性非常受限制   只会在对象静态或移动时使用缓存的位图   在舞台上垂直或水平。如果您尝试旋转   对象,更改其比例,更改其alpha属性或尝试   除了改变它的形状,玩家之外还要做任何其他事情   将不得不重新计算矢量的形状,然后绘制   转换中每个步骤的位图版本。如果   您将cacheAsBitmap应用于不断旋转的对象或   除了改变它的x或y属性之外,还有动画,   该过程将消耗比原始处理能力更多的处理能力   矢量图形因为不仅需要计算矢量   对于动画中的每个步骤,但位图也必须是   为制作系统的动画中的每一步绘制   把工作翻倍!