ObjectプロパティnumQuads:int[読取り専用]メソッドQuadBatch()バッチデータが空の新たなQuadBatchインスタンスをつくる。null):voidバッチにImageオブジェクトを加える。null):voidバッチにQuadオブジェクトを加える。clone():QuadBatchQuadBatchオブジェクトを複製する。Quadオブジェクト(とそれらを含むDisplayObjectContainerオブジェクト)からなるDisplayObjectContainerインスタンスを解析して、そのインスタンスが表せるQuadBatchベース型のVectorオブジェクトをつくる。頂点バッファとインデックスバッファを破棄する。QuadBatchインスタンスがすべて包まれる矩形領域のRectangleオブジェクトを、指定されたDisplayObjectインスタンスの座標系でつくって返す。blendMode:String):BooleanQuadオブジェクトが状態を変えることなくバッチに加えられるかどうか示す。RenderSupportオブジェクトを用いて、DisplayObjectインスタンスを描画する。null):void現在のバッチを、指定したmodel-view-projection行列とアルファ、およびブレンドモードで描く。reset():voidバッチをリセットする。状態が同じ複数のQuadオブジェクトの描画を最適化します。Starlingフレームワークでステージに表示するオブジェクト(DisplayObject)として、もっともよく使われるのがQuadオブジェクトです(テクスチャを表示するためにやはりよく用いられるImageオブジェクトもQuadクラスを継承します)。同じ状態のQuadオブジェクトをまとめて一気にGPUに送ると、描画はきわめて速くなります。そのために備えられたのがQuadBatchクラスです。SpriteクラスのSprite.flatten()メソッドは、内部的にQuadBatchクラスを用いて描画を速めます。多くの場合、フラット化したSpriteオブジェクトの方が使いやすいでしょう。QuadBatchクラスを直接用いると、つぎのような利点があります。QuadBatchオブジェクトには、ひとつのQuadオブジェクトをいくつでも加えられる。QuadBatchオブジェクトにオブジェクトを加えても、Event.ADDEDやEvent.ADDED_TO_STAGEイベントの配信がないのでその分負荷が軽い。ひとつのQuadBatchオブジェクトには、ひとつの描画状態が定められます。QuadBatchオブジェクトの状態は、初めに加えるオブジェクトで決まります。状態には、用いるテクスチャや、スムージング、ブレンド、着色(頂点カラーや不透明度)などの設定が含まれます。QuadBatch.reset()メソッドを呼出すと、大きさは保ったままバッチが空になり、新たな状態のQuadオブジェクトが加えられます。QuadBatchクラスはDisplayObjectクラスを継承します。表示リストの階層に必ずしも加えなくて構いません。クラスのrender()メソッドの中から、QuadBatch.renderCustom()メソッドに変換行列やアルファ、ブレンドなどの値を渡して呼出すことができます。QuadBatchクラスにはつぎのような制約があります[*1]。これらが問題にならなければ、QuadBatchオブジェクトを用いるのが、Starlingフレームワークの中でもっとも速く描画する方法になります。加えるオブジェクトは、すべて同じ状態になる。加えられるのはImageとQuad、およびQuadBatchオブジェクトだけ。後から状態を変えたり、加えたオブジェクトを除くには、リセットするしかない。Optimization」も併せてご参照ください。例つぎのスクリプト(抜粋)は、QuadBatchインスタンス(myQuadBatch)を表示リストに加え、ひとつのImageオブジェクト(myImage)を複数QuadBatch.addImage()メソッドでインスタンスに納めています(図001)。