Flash Lite ではベクトル画像とビットマップ画像の両方をレンダリングできます。 それぞれの画像タイプには長所と短所があります。 ビットマップ画像とベクトル画像のどちらを使用するかを決定づける理由は、常に明確なものがあるわけではなく、複数の要因によって変わります。
ベクトル画像は SWF ファイルの中で数式によりコンパクトに表現され、Flash Lite Player で実行時に画像を表示するために数式が計算されます。 対照的に、ビットマップ画像は画素(ピクセル)の配列で表示され、より多くのデータのバイト数が必要です。 そのため、ファイルにベクトル画像を使用すると、ファイルサイズとメモリ使用量が減ります。
また、ベクトル画像はサイズを拡大しても、滑らかな形状が維持されます。 ビットマップ画像を拡大すると、画素が荒くなり角張って見えます。
ベクトル画像は、ビットマップと比較すると、レンダリングに多くの処理能力が必要です。特に、複雑な形状や塗りが多いベクトル画像は処理に時間がかかります。 そのため、ベクトル画像を多用すると、ファイル全体のパフォーマンスが低下することがあります。 ビットマップ画像はベクトル画像ほどレンダリングの処理時間がかからないため、ファイルによっては適した選択となります。例えば、複雑な道路地図をアニメーションにして携帯電話でスクロールする場合などです。
次の事項を考慮してください。
ベクトル画像にアウトラインを使用しないようにします。 アウトラインには内部と外部のエッジがあるため(塗りは 1 つのみ)、レンダリング処理が 2 倍になります。
コーナーは曲線よりもレンダリングが単純です。 可能であれば、平坦なエッジを使用します(特に非常に小さなベクトル画像の場合)。
アイコンなど、小さなベクトル画像の場合、最適化は特に有効です。 複雑なアイコンにしてもレンダリング時に詳細が失われるため、その分のレンダリング処理が無駄になります。
一般的な方法として、小さく複雑な画像(アイコンなど)にはビットマップを使用し、大きく単純な画像にはベクトル画像を使用します。
適切なサイズでビットマップ画像を読み込みます。Flash に大きな画像を読み込んでから縮小すると、ファイルサイズと実行時メモリの無駄になります。
Flash Lite Player はビットマップのスムース処理をサポートしていません。 ビットマップを拡大縮小または回転すると、見た目がギザギザになります。 画像の拡大縮小または回転が必要な場合、ベクトル画像の使用を検討してください。
テキストは本質的に非常に複雑なベクトル形状です。 当然ながらテキストは重要な場合が多く、まったく使用しないことはほとんどありません。 テキストを使用する場合に、テキストをアニメーション化したり、アニメーション上に配置したりすることは避けます。 ビットマップ化したテキストを使用することも検討してください。 複数行の動的な入力テキストの場合、テキスト文字列の改行はキャッシュされません。 Flash では実行時に改行され、テキストフィールドが再描画されるたびに改行が再計算されます。 静的なテキストフィールドは、コンパイル時に改行が事前に計算されるため問題ありません。 動的なコンテンツには動的なテキストフィールドの使用は避けられませんが、可能な場合は静的なテキストフィールドを使用するようにします。
PNG ファイルでは透過の使用を最小限に抑えてください。Flash はビットマップの透過部分でも再描画の計算を行うためです。 例えば、前面の要素に透過 PNG ファイルがある場合、全画面にわたる透過 PNG は書き出ししないでください。 前面の要素の実際のサイズで書き出しするようにします。
ビットマップレイヤー同士、そしてベクトルレイヤー同士をグループ化します。 Flash では、ビットマップコンテンツとベクトルコンテンツには異なるレンダリング機能が使用されるため、機能の切り替えに時間がかかります。