2012-03-14 16 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になったら、アセットをロードするだけで問題はありません。

この質問を短くするには...私は2つのDynamicImageがロードされています(3840 x 2400)。私は2つの画像を切り替えるトグルボタンを持っています。 AとBとしましょう。

動作は次のとおりです。 Aはデフォルトでオンになっています。 最初にBに切り替えると、Bが表示される前に分割された2番目の遅延があります。今、私がAとBの間を行き来するとき(彼らの「目に見える」特性を変える)...それはかなり即座です。私は次に、私のアプリケーションの他の部分を使用するために行く...私はオン/オフ(また、可視= false/trueを使用して)トグルしているいくつかの大きな画像があります。私が& Bに戻ったとき、初めてトグルすると、再び2番目のディレイが分かりました!

フラッシュはこれらのイメージをメモリからロード/アンロードするためですか?このAIRアプリケーションでより多くのメモリを使用するようにする必要がありますか?他に何が起こっているのでしょうか?

答えて

0

これはディスプレイに画像を描画することと関係があり、作業している画像は実際にはかなり大きいです!それらを減らすことはできませんか?あなたは何をしようとしているのですか?私は小規模のクラスを書いて、SIPS(Macのみ)に基本的なイメージ変換をオフセットして、より小さなプロキシイメージをロードできるようにしました。 SIPSはGPUで動作するので、超高速です!私は300MB以上の画像で作業していましたが、ほぼ即座にロードされました。

多分それは誰にでも役立ちます:http://www.inklink.co.at/blog/?p=90

関連する問題