ソースに関係なく、すべてのベクター アセットは、表示リストのレンダリングを通知するステージ無効化で描画および再描画する必要があります。
Flash Pro のアートボードによるオーサリング ツールが大幅な最適化につながるとは思えません。タイムライン レイヤー要素グループ、影、グラデーション、および角丸四角形などのプリミティブなどの要素は、見た目よりも複雑に処理される場合があります。同様に、鉛筆ツールで作成された線は、ブラシ ストロークよりも少ないメモリで済みます。
Flash Catalyst と同様に、Flash Pro は各ベクターを個別にレンダリングするため、複雑なオブジェクトは公開アプリケーションのパフォーマンスを大幅に低下させる可能性があると思います。複数回出現する要素にはシンボルを使用し、要素をグループ化し、タイムライン レイヤーは変化する要素と変化しない要素を分離する必要があります。
Flash Player 10 および AIR 1.5 では、新しい描画 API が提供されました。これにより、コードの実行量が減り、パフォーマンスが向上します。これらの機能には次のものがあります。
- drawPath()
- drawGraphicsData()
- drawTriangles()
前述のように、cacheAsBitmap
翻訳のパフォーマンスを向上させることができます。ただし、スケーリングまたは回転すると再描画されます。
ラスター ビットマップ アセットは、ほとんどの場合、最高のパフォーマンスを発揮します。アニメーション用のブリッティング/ビット ブリットやビットマップ スプライト シートなどの手法は、ベクター描画よりも優れています。
私のアプリ内で、私がよく実装する手法は、この StackOverflow の投稿で示されているように、ベクター アセットのオフステージ レンダリングです: AS3 Blitting - Copy Pixels gets some of the source image .
このメソッドを使用すると、ベクター アセットをスケーリングできます。ただし、ビットマップのみが表示リストに追加されます。
Shape
グラフィックス レンダリングのパフォーマンスに固有のものではありませんが、動的クラスを使用するかSprite
、動的クラスよりもわずかにパフォーマンスが向上することに注意してくださいMovieClip
。