Entries

flashの処理速度を2倍ぐらいにブーストする仮説

flashの処理速度を2倍(自分体感レベル的)にブーストするには、右クリックで描画クォリティーをLOWにすればいい。しかし残念ながら、このとき問題点として全てのシェイプとテキストにアンチエイリアスがかからなくなってしまう。

で、昨日tats君と話してて思いついた。

ディフォルトで描画クォリティーをLOWにしておいて、テキストを更新にしたタイミングで _quality = “BEST”に変更する。そして即座にBitmapDataクラスを用いてアンチエイリアスつきテキストをdrawして画像化。そしてすぐに_quality=”LOW”に戻す。
画面の最終更新が行われるのは常にフレーム処理の最後であるので、その前に一瞬だけ_qualityを変更してもそれは描画の負荷にはならない。一方でBitmap.drawの描画は画面に表示されるものではなく、メモリ上での再レンダリングであるのでその質は関数実行時の_qualityの値に依存する。

この一連の操作を1フレーム以内で行えば、理論上は画面に表示される画像のクオリティは”LOW”のままで、テキスト画像は、品質「最高」のアンチエイリアスを保持したままビットマップ化できる・・・はず。

これでクォリティ「低」でも選択的アンチエイリアスがかけられて、かなりスピードウプ・・・するんじゃないかなぁ。
まだ試してないけど、多分うまくいくと思う。