2009-02-20 16 views
7

私はわずか数のグラフィックスとたくさんのActionScript 3を使用したプロジェクトを持っています。 SWFファイルサイズの削減に関するヒントはありますか?SWFファイルサイズを小さくする

答えて

3

ファイルが肥大化した場合、グラフィックは常に最初の容疑者になるべきです。画像がある場合は、品質やサイズを減らすか、別の形式でファイルサイズを小さくするかどうかを確認してください。ベクター図面をコピーして貼り付けたり、ムービークリップやグラフィックに入れたり、他の場所に配置したりしないでください。また、複雑なベクトルアートがあれば、スムージングは​​複雑さを軽減するのに役立ちます。

他のコードを減らすのと同じように、アクションスクリプトを減らすことができます。反復など、切り取ることができる場所を探します。しかし正直なところ、ファイルサイズはコードによってあまり影響されません。

やや関連する質問:Why does my SWF file size not decrease when reducing content?

0

グラフィックスの圧縮率を上げ(jpgの品質を低下させるなど)、使用されていないコードの部分を探し、トリミングやリファクタリングができるかどうかを確認します。

1

あなたは物事のカップル...外部リンクなどの画像保存

  • を行い、動的にそれらの(トレードオフがある)

  • チェックサイズ報告、追跡およびダウントリムを読み込むことができます大きな埋め込みファイル

4

最初に行うべきことは、サイズのレポートをオン(フラッシュが便利持っていないが、パブリッシュ設定でなければなりません)と、実際にそのスペースを取っているものを見ています。あなたの説明から、それは主にactionscriptにあるはずです。

フォントが埋め込まれたダイナミックまたはテキストフィールドがある場合は、必要な文字のサブセットのみを埋め込むよう注意してください。ビットマップを使用している場合は、適切な圧縮を使用してください画像、堅実な色、または単純なグラデーション)。

アクションコードのバイトサイズを小さくするには...まずリリースコードをコンパイルするには、デバッグ(Shift-F12またはCtrl-EnterではなくCtrl + Shift)の代わりにパブリッシュまたはテストを使用してください。 actionscriptの代わりに使うことができるフラッシュ組み込み関数はなく、関数を使ってコードを共有し、ローカル変数を追加して共通のサブ式を減らしてください。

動的オブジェクトを避けるか、それらをもっと使用することができます。各クラスには説明のオーバーヘッドがありますが、メンバーへのアクセスにかかるオーバーヘッドが少なくなると思います。私はどちらの方法でもこれをテストしていません。

他のライブラリから使用しているメソッドをトリムまたはコピーアウトする。あなたがFlexを使用している場合...残念ですが、あなたはかなり骨抜きになっています:(。未使用のクラスをたくさん集めるクラス参照に気をつけましょう:トリミングされたプライベートライブラリのコピーを作成することもここで便利です

深い呼び出しのheirachiesのためのパラメータの代わりにクラスメンバを使用することを試みることができる内部機能を調べる - 膨らみを引き起こす可能性があるいくつかの状況があります。クラス名とメンバ名、定数の代わりのリテラルなので、メンバ名ではなく値だけを出力しなければなりません(プライベートメンバや密閉クラスについてはわかりません)。

2

ランタイム共有ライブラリ

関連する問題