0

特定の複雑な構成可能な一連のビジネス ロジック ルールに対して AS3 コードを生成する必要があるか、それともデータとして表現し、AS3 でステート マシンを記述して解釈する必要があるかを判断しようとしています。

私の目標は、コンパイルされた swf サイズを最小にすることです。速度は問題ではありません。実装の複雑さも問題ではありません。(もちろん、どちらも合理的な範囲内です。)

十分な詳細を開示することはできず、おそらく質問する代わりに実験を行うべきであることは理解していますが、私の質問は次のとおりです。

swf にコンパイルしたときの AS3 ソースの平均圧縮率は? ソース コード 1 キロバイトあたりの swf のバイト数は?

(答えがせいぜい非常に大まかな数字になることは完全に理解しています。)

4

2 に答える 2

1

コンパイルされた SWF に関するいくつかの事実:

  • クラス名は保持されます
  • メンバー名は保持されます
  • ローカル変数名は保持されません
  • コメントと空白は取り除かれます

したがって、比率は、識別子の長さ、コメント、さらにはタブまたはスペースの設定によって異なります。クラス名を A0、A1 などに置き換える難読化ツールを使用して結果の SWF を実行すると、数バイトを節約する必要があります。

あなたのステートマシンのアイデアは最も有望なようです.コードは一度書かれ、ルールはコンパクトな方法で書くことができます. 小さい数値を 1 つの int にパックできる場合は、その方が適切です (AS3 には、4 バイトの int および uint 未満の整数はありません)。

于 2011-01-29T09:25:15.743 に答える
0

ファイルはすでにzlibSWF圧縮されているため、ほとんどの場合、データの方法またはコードの方法のいずれかを使用することで、相対的な利点が失われる可能性があることに注意してください。

初期読み込み速度が目的の速度である場合は、いつでもコードのチャンクを除外して、別の SWF ファイルからオンデマンドで読み込むことができます。

于 2011-01-29T04:13:31.697 に答える