0

私は1024 x 768のPNGファイルを持っています。その上に、ENTER_FRAMEハンドラを介して「スライドイン」(xとyに沿ってのみ移動)する他の小さなPNGファイルがありますか?

PNGS をアニメーション化するには、基本的なベクトル形状よりも多くの CPU が必要ですか? アニメーションを最適化するためにできることはありますか?

文字通り次のようになります。

private function onEnterFrame(e:Event):void {
  myPng.x += speed; // and so on
}

また、PNG を MovieClip 内に配置する場合、MovieClip の "cacheAsBitmap" を true に設定する必要がありますか、それとも PNG ファイルを配置すると暗示されますか?

4

2 に答える 2

1

CPU 使用率は、ベクトルの複雑さに大きく依存します。単純なベクターは、大きなビットマップよりも高速にアニメーション化される可能性がありますが、複雑なベクターは、その複雑なベクターに対して cacheAsBitmap が true でない限り、はるかに遅くアニメーション化されます。PNG は既にビットマップであるため、cacheAsBitmap はそれらとは無関係です。

簡単に最適化するには、可能であれば GPU アクセラレーションを使用することをお勧めします。より高いパフォーマンスが必要な場合は、Flash Player 11 のネイティブ 3D サポートを利用することをお勧めします。実際の 3D を実行しない場合でも、スターリング (http://gamua.com/starling/) のような 2D フレームワークを使用して、その 3D サポートを活用することで、パフォーマンスを大幅に向上させることができます。

于 2012-07-18T19:18:08.257 に答える
0

それは実際には反対です。検討 :

  • 画面上に表示されるデータのチャンクとしてのPNG / ビットマップ イメージ。
  • 画面に表示されるデータのチャンクを生成する式としてのベクトル画像。

今、自分が何をしたいのかを考えてください。データのチャンクをまったく変更せずに、画像を移動したい。明らかな答えは PNG です。

次に最適化について。結果をブリッティングしてキャッシュすることを考慮しない限り、このタスクでは最適化の余地がほとんどないと思います。

ムービークリップのブリッティングとキャッシュは、メモリからビットマップ表現 (データのチャンク)を読み込んで再描画するだけで、PNG の読み込みのオーバーヘッドを削減します。しかし、現在のアプローチで実際にパフォーマンスの問題が発生しない限り、私は問題を解決することを検討しません。

于 2012-07-18T19:10:33.223 に答える