2012-01-14 11 views
2

私は最近、私のライブラリが完全に空で、必要な画像/アニメーション/サウンドを埋め込みタグで埋め込む方法に切り替えました。これは、人生が楽になるからです。私の図書館にたくさんのシンボルを置くと、CS5は非常にゆっくり走り、本当に私を迷惑にしていました。パフォーマンス、シンボル、ライブラリのシンボル、またはそれらのシンボルのエクスポートされたイメージはどれですか?

これはコンピュータ用のゲームを作るのに全く問題はありませんでしたが、私は最初のiPhoneゲームに取り組んでいます。数秒後にゲームが遅れることに気付いています。複雑なゲームではありませんが、透明性を備えた多くの画像があります。私は空のライブラリメソッドについて忘れてしまうと、もっと速く動くかどうか疑問に思っています。パフォーマンスにどのような影響があるのか​​は分かりませんが、パフォーマンスについては心配する必要があります。しかし、私は透明性やオブジェクトプーリング(これについてはただ読んでいる)のようなパフォーマンスに影響を与える他の事柄について認識しています。

さらに強力なデバイスでも、正確に同じゲームがiPadで悪化します。

答えて

1

ライブラリに画像を保存すると、SWF/SWCを書き出すときにFlashが画像を圧縮します。これは望ましいかもしれません。

[Embed]タグを使用すると、Photoshopなどで自分で圧縮し、出力を完全に制御できることを意味します。

あなたの「ゲームは数秒後に遅れる」と言います。これは、画像がコードまたはライブラリシンボルとして埋め込まれているかどうかではなく、メモリ/設計上の問題と思われます。いくつかのプロファイリングを行って、あなたがほとんどの時間を費やしている場所を見て、メモリリークがないことを確認してください。

1

ライブラリと[埋め込み]メタタグを使用すると、IDEのパフォーマンスに影響しますが、コンパイル時に評価され、ほぼ同じバイトコードが生成されます。

実行時のゲームのパフォーマンスはまったく別の問題ですが、ビットマップとして組み込む画像とベクトルスプライトとして使用する画像を再考することで良い結果が得られるかもしれません。 1つの基本的なプレイヤースプライト、各プレイヤーバリエーションをフルサイズのアニメーションにするのではなく、個々のルックをコンポジションで追加する)、透明度とアルファマスクの使用を減らそうとします。

on the AVM2on iOS devicesの両方で、ActionScriptのパフォーマンスを向上させるための優れた記事が多数あります。 「ActionScript最適化ランタイム」を検索してみてください。多くの結果が得られます。

関連する問題