Optimization」にコンテンツを最適化するコツが紹介されています。3.0の設定についての項目を解説します。DisplayObject.blendModeプロパティをBlendMode.NONEに設定するテクスチャが完全に不透明の矩形であれば、ブレンドをなしにするとGPUの負荷が減らせます。大きな背景のイメージには有効です。表示オブジェクトの状態を変えることにはなるものの、それを上回る効果が期待できます。その場合には、DisplayObject.blendModeプロパティに定数BlendMode.NONEを設定します。背景が単色のときは、テクスチャやQuadインスタンスを置くのではなく、Stage.colorプロパティで色設定をしましょう。Starlingフレームワークは、フレームごとにステージを描替えます。Stage.colorプロパティを変えたからといって、新たな負荷が生じることはないのです。DisplayObject.widthやDisplayObject.heightプロパティを繰返し参照することは避けるDisplayObject.widthやDisplayObject.heightプロパティの参照は、思いのほか演算の負荷が高いです。インスタンスの変換行列(回転/伸縮/移動)を調べて計算するからです。Spriteに代表されるDisplayObjectContainerインスタンスでは、すべての子インスタンスについて変換行列の計算が繰返されることになります[*1]。forループなどの繰返し処理で同じプロパティを何度も参照するのは一般に避けるべきです(「ActionScriptでの最速を求める」01-03「forループで配列・Vectorを扱うときのお約束」参照)。DisplayObject.widthやDisplayObject.heightプロパティについては、上述の理由によりその違いは大きいといえます。DisplayObject.widthやDisplayObject.heightプロパティを参照すると、内部的にはDisplayObject.getBounds()メソッドを呼出し、戻り値のRectangleオブジェクトから幅または高さが返されます。sHelperRect).width;}DisplayObjectContainerクラスはこのメソッドをオーバーライド(override)します。すべての子インスタンスの矩形領域を調べたうえで、それらが完全に含まれる矩形座標を求めてRectangleオブジェクトとして返します。インスタンスのDisplayObject.touchableプロパティをfalseにするマウスやタッチパネルの操作をすると、Starlingフレームワークはその対象となるインスタンスを調べます。この処理は負荷が上がります。すべてのDisplayObjectインスタンスに対して、DisplayObject.hitTest()メソッドを呼出すことになるからです。そこで、マウス操作の対象とならないインスタンスは、予めDisplayObject.touchableプロパティをfalseにしておきます。すると、Starlingフレームワークは、マウス操作を調べる対象からそのインスタンスを外します。できれば、個々の子インスタンスより、親インスタンスのプロパティを設定する方が効果は高いです。1.2からEventDispatcher.dispatchEventWith()メソッドが加わります。このメソッドは、引数のイベントオブジェクトを新たにつくらずに使い回します。タイプが楽になるだけでなく、ガベージコレクションの手間が減ります。詳しくは「StarlingフレームワークにEventDispatcher.dispatchEventWith()メソッドが加わる」をお読みください。