FlashLiteダイエットの考え方

1.FlashLiteダイエットの考え方

 FlashLiteに関して、一応の制作手順を書いたので、次にリクエストの多そうな容量の削減(ダイエット)を紹介する。FlashLite1.1では、swfの最大容量が100KB(100*1024バイト)に決まっている。いまどきWEBの挿絵でも100KBより大きいぞ!と思うだろうが、ルールなのだからしかたない。

さて、削減の方針としては「パレートの法則」を思い出して欲しい。
http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E6%B3%95%E5%89%87

 「20%の金持ちが資産の80%を所有する」とか、「20%の顧客から利益の80%を得る」などのアレ。つまり、容量を食っているのは特定の部分で、「20%に手を入れると80%が改善する」ということだ。正確に言えば、「20%に手を入れると80%が改善する部分だけを変更せよ」ということ。苦労して、スクリプトを数バイト短くできたけど、その分テストをやり直さないといけないという状況では意味が無い。FlashLiteのダイエットはこの改善をすれば、これだけ効果があるぞ!というポイントを探すことがFlashLiteダイエットのスタートである。

 個々のテクニックやノウハウというものは当然ある。しかし、基本的な方針なしに動き出すと、いつまでたってもゴールにたどり着くことは出来ない。

2.ダイエットには現状の把握

 どんな困難な仕事でも、最初は現状を把握すること。

 仮に、現在ムービーは完成しているが、容量オーバーを起こしている状態としよう。この場合、「現在の容量」と「目標の容量」の2つがわかれば、その差がダイエットすべきサイズだ。多くの場合、「目標の容量」は100KBだが、使い方によってはもっと小さい場合もある。ダイエットすべきサイズが「5バイト」の場合と「5Kバイト」の場合では、使う手法が違う。なんにしても、現状どうなっていて、どうしたいか、というのは重要だ。

 また、各レイヤーのデータを確認して、どのレイヤーが容量を食っている原因かを把握する事も必要だ。使っていない無駄なデータが容量を食っているという可能性もある。この調査段階で勝負は決まっていると言える。

3.容量を削減する3つの要素

 さて、容量を削減するには、3つの要素を考慮するとよい。逆に言えば、この3つが容量を食う犯人ともいえる。

(1)グラフィック
(2)スクリプト
(3)アルゴリズム

(1)グラフィック
グラフィックが一番容量を食いやすい。細かすぎるデータやグラデーションなどが容量食いの代表。全く消してしまうか、ポイント数を減らすか、グラフィックの質を下げるなどの対策をする。

(2)スクリプト
変数名、ラベル名を短くする。
以上。

(3)アルゴリズム
スクリプトとかぶっているが、処理の手法自体に問題があって容量が大きい場合もある。
また、複雑な条件のif文があると容量が大きくなるなどのクセは覚えておいた方がいいかも。(※うろ覚え)

4.ダイエットまとめ

今回は基本的なダイエットのすすめ方の概略について書いた。要するに、容量をオーバーするには原因がある。仕様が詰め込みすぎなのか、グラフィックデータが大きいのか、作った人のスキルが低いのか・・・
それぞれ、原因にあわせた対策をとればよい。