當在 Flash 中匯入越來越多圖檔和媒體、製作越來越多元件,如何才能夠到底是哪些東東是比較肥的檔案呢?Flash 讓我們在發佈時可以額外匯出一個完整檔案大小報表,檔案–>發布設定–>Flash–>產生檔案大小報表(Ctrl + Shift + F12):
以最小範圍圖檔的龜派氣功範例加上背景圖來做測試:
接著輸出Flash影片時就可以在輸出視窗觀看SWF所有用到的各種物件報表,另外也會產生一個“檔案名稱 Report.txt”的文字檔:
(1) 影格(Frame):在主時間軸(Main Timeline)上各個關鍵影格的檔案大小。
(2) 場景(Scene):各場景的檔案大小。
(3) 元件(Symbol):有用到的所有元件的檔案大小(包含向量與動畫,若有使用點陣圖則是額外計算)
(4) 字型(Font):嵌入字體(Embedded Fonts)的檔案大小。
(5) AS(ActionScript):主時間軸和所有有用到 ActionScript 的影片片段的程式碼檔案大小,通常所佔空間不足掛齒。
(6) 點陣圖(Bitmap):所有使用到的各類型圖檔。
從報表中可以看到背景圖片 bg.jpg 所占空間最大,約 67KB 左右,不過也可以發現到他沒有做適當壓縮(JPEG=102)。背景圖片放在第一影格,因此也造成第一影格所占位元組最大。如果說是製作網站就要考慮是否要在第一影格匯入,或者是以動態載入的方式加上 preloading 畫面帶過。
QuickMotion.swf 影片報表 -------------------------------------------------------------------------------------------- 影格# 影格位元組 總共位元組 場景 1 68963 68963 場景1(AS3.0類別匯出影格) 2 1455 70418 3 1614 72032 4 2677 74709 5 1671 76380 6 1750 78130 7 1942 80072 8 2707 82779 9 2971 85750 10 2995 88745 11 3002 91747 12 3072 94819 13 3077 97896 14 3134 101030 15 3227 104257 16 3224 107481 17 3224 110705 -------------------------------------------------------------------------------------------- 場景 形狀位元組 文字位元組 ActionScript 位元組 場景 1 0 0 0 -------------------------------------------------------------------------------------------- 元件 形狀位元組 文字位元組 ActionScript 位元組 mcGifSource 0 0 0 mcPngSource 0 0 0 -------------------------------------------------------------------------------------------- 點陣圖 壓縮的 原來的 壓縮 bg.jpg 67200 819200 匯入的 JPEG=102 hamahamaha.gif 1586 85560 不失真 點陣圖 36 1389 85560 不失真 點陣圖 37 1548 85560 不失真 點陣圖 38 2610 85560 不失真 點陣圖 39 1604 85560 不失真 點陣圖 40 1683 85560 不失真 點陣圖 41 1875 85560 不失真 點陣圖 42 2640 85560 不失真 點陣圖 43 2905 85560 不失真 點陣圖 44 2928 85560 不失真 點陣圖 45 2935 85560 不失真 點陣圖 46 3005 85560 不失真 點陣圖 47 3010 85560 不失真 點陣圖 48 3067 85560 不失真 點陣圖 49 3160 85560 不失真 點陣圖 50 3158 85560 不失真 點陣圖 51 3157 85560 不失真
利用此種方式可以:
(1) 抓出檔案較大的元兇,若是圖檔考慮是否可以加大壓縮比,若是向量圖可以檢查是否最佳化
(2) 檢查所有圖檔是否漏掉壓縮
(3) 考慮是否嵌入部分字元即可