サイトトップ

Director Flash 書籍 業務内容 プロフィール

Adobe Flash非公式テクニカルノート

Starlingフレームワークでミップマップを使うかどうか

ID: FN1206008 Product: Flash CS6 and above Platform: All Version: 11 and above/ActionScript 3.0

Starling Wiki「Performance Optimization」にコンテンツを最適化するコツが紹介されています。本稿はその中から「Find out if you need Mipmaps」(ミップマップが必要かどうかを知る)について解説します。

ミップマップ」はテクスチャの低解像度版です(図001)。ミップマップを使うことで、画像の描画を速めるとともにジャギー(aliasing effects)が減らせます。

図001■ミップマップ

StarlingフレームワークでTexture.fromBitmap()Texture.fromBitmapData()メソッドによりテクスチャをつくるとき、デフォルト(メソッドの第2引数がともにtrue)ではミップマップができます。多くの場合、ミップマップはある方が望ましいでしょう。縮小したテクスチャの描画が速くなり、ジャギーを防げるからです。

ミップマップをあえてつくらない方がよいのは、つぎのような場合です。

  • テクスチャのメモリを抑えたいとき。テクスチャのミップマップは、全体でもとのデータの約1/3のメモリを費やす。
  • イメージをぼかしたくないとき。ミップマップは、倍率によってはぼけて見える。ミップマップを使わない方が、鮮明になる(この場合、ミップマップにTextureSmoothing.TRILINEAR定数を使うことも考えられる)。

もっとも、ミップマップをつくらないからといって、アニメーションは速まりません。また、多くの場合、逆に遅くなるということもないでしょう。つまり、テクスチャのメモリを抑えるための手段だということです。ミップマップが要らないときは、Texture.fromBitmap()またはTexture.fromBitmapData()メソッドの第2引数にfalseを渡します。


作成者: 野中文雄
作成日: 2012年6月29日


Copyright © 2001-2012 Fumio Nonaka.  All rights reserved.