2012-03-14 109 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

相關問題