Flash CS4 の新しい 3D アートワーク ツールを多用するプロジェクトがあります。Flash がラスター グラフィックスまたはベクター グラフィックスで高速かどうかを確認するテストを行った人はいますか? 私の SWF は、遅いマシンでは本当に動かなくなります。
2 に答える
表示オブジェクトに 3D 変換を適用すると、内部的に Flash がそのオブジェクトをビットマップにレンダリングし、3D 変換をビットマップに適用します。この機能はビットマップ キャッシュと呼ばれ、オブジェクトの内容が変更されるまで、Flash はキャッシュされたビットマップを使用し続けます。
そのため、3D 変換されたコンテンツの場合、ソース オブジェクトがベクターであるかビットマップであるかは基本的に違いはなく、どちらの方法でもレンダリングおよびキャッシュされます。3D 効果によってパフォーマンスが低下している場合、一般的に最適な方法は、変換されたオブジェクトの全体的なサイズを小さくすることです。大きなビットマップの変換は、本質的にコストのかかる操作です。
そうは言っても、一般的なケース (物事に 3D 変換がない場合) では、ビットマップはベクトルよりもはるかに優れたパフォーマンスを発揮します。特に、CPU スペックが低いモバイル デバイスでは、これが当てはまることがわかります。また、フォント (デバイス フォントを除く) は実行時にベクトルになるため、テキスト フィールドを同じテキストのビットマップ バージョンに置き換えると、そのテキストをレンダリングするための CPU コストが大幅に削減されることにも注意してください。
反対に、ベクトル コンテンツは一般に、ビットマップよりも少ない作業メモリを占有します。繰り返しになりますが、これは、CPU とメモリの両方が制限される傾向にあるモバイル デバイスでは重要です。