« 名前空間(JP) | Main | [mdm]FLV再生プレーヤー(JP) »

ビットマップキャッシュ(JP)

 MovieClip.cacheAsBitmapはFlashがムービークリップ(MC)の表示されている状態を内部にビットマップとしてキャッシュさせるプロパティである。
ではどういう場合にキャッシュ機能を使えば良いのだろうか。ベクター形式の背景画像上で他の要素をアニメーションさせると速度が低下するので、背景画像に対してopaqueBackground=trueとする。背景画像はビットマップとしてレンダリングされるので高速にアニメーションを行うことが出来る。テキストフィールドで大量のテキストをスクロールさせる時はMCの中にテキストフィールドを配置し、MCのscrollRectにRectangleを設定することで中に配置されたテキストフィールドのスクロール速度を改善できる。中に配置されたコンテンツはMCのscrollRectのサイズでビットマップ化されたデータが使われる。通常mainStageに対して画面全体が描画される。bitmapキャッシュを使用すると個々のMCはbitmap化された状態で既にグラフィックがキャッシュされるので再計算する負荷が減るというわけである。逆にパフォーマンスを低下させることもある。この機能は処理を高速化する反面ビットマップデータとしてキャッシュするためメモリ消費が大きくなるので、250x250ピクセルのデータの場合メモリ消費は1KBから250KBへと増大する。キャッシュした画像を拡大すると大量のメモリ消費につながる。また、MC自体が大きくグラフィックが変更するようなアニメーションなどを持つ場合性能に悪影響となる場合がある。

Post a comment