2012-03-14 110 views
0

我认为我的问题可能与使用大图像有关。让我描述会发生什么。Flash中存在大图像性能问题(AIR应用程序)

我加载这些图像的方式是在时间轴中的第2帧上使用我的DynamicImage类的所有实例。它基于之前读入的XML加载图像。

public class DynamicImage extends DynamicSingleImage 
{ 

    //var eLoader:Loader; //for english image 
    var aLoader:Loader; //for alternate language image 
    public function DynamicImage() 
    { 
     //loadMyImage(); //don't need to do this...super does this 
     ...   
    } 

    override public function loadMyImage() :void 
    { 
     ... 
      } 

对我来说,当我们到达第2帧时......应用程序只是加载资源并不重要。

所以只是为了使这个问题简短...我有两个DynamicImages加载(他们是3840 x 2400)。我有一个切换按钮,在两个图像之间切换。我们称他们为A和B.

行为如下。 默认为A。 当我第一次切换到B ...时,B显示之前有一秒的延迟。现在,当我在A和B之间来回切换(改变它们的“可见”属性)时,它非常直接。然后我继续使用我的应用程序的其他部分...这也有一些大的图像,我打开/关闭(也使用visible = false/true)。当我回到A & B时,当我第一次切换时,我再次看到这一秒的延迟!

是否因为闪存正在从内存中加载/卸载这些图像?我应该试着让这个AIR应用使用更多的内存吗?这里还会发生什么?

回答

0

它与在显示器中绘制图像有关,您使用的图像真的很大!你不能减少它们吗?你想做什么?我写了一个小类来抵消SIPS的基本图像转换(仅适用于mac),因此您可以加载较小的代理图像。由于SIPS与GPU协同工作,它超快!我正在使用300MB +图像,并且几乎立即加载。

也许它对任何人都有帮助:http://www.inklink.co.at/blog/?p=90

相关问题