高負荷ビットマップ処理
2010.2.12 金曜日
WindowsのFlash(※Macでは未検証)では、高負荷なビットマップ操作を行うと、マスク処理を無視する場合があります。
例えばA、B、Cの3枚の画像を、ブレンドモードで重ね、できた画像をビットマップDとみなし、他の画像Eのグラデーションマスクに使うといったときに、処理が重たい(画像が大きい)と、画像Eのマスク処理を無視し(単純にEがマスクされない)描画されます。
また、Flash IDE上のライブラリに登録してビットマップ画像を配置・操作するよりも、プログラムのLoaderを使って画像ファイルを外部から読み込んで操作した方が、大きい画像や重い処理を実行できる場合が多いです。
さらに、デバッグモードやプレビューモードで実行するより、コンパイルしたものの方が扱える画像が増える場合があります。PCのスペックに依存すると思いますが、Core2QuadのPCで100枚以上の1000×1000の24bitのPNG画像を読み込み、碁盤目状に配置し操作することはできました。さらに500×500の24bitのPNG画像を100枚読み込むと、コンパイルしたexeでは動作しますが、デバッグモードでは動かなかったです。エラーが出ない場合があるので注意が必要。
Posted by tmdf|ActionScript