根據flash運行原理優化性能

1 avm運行有兩個步驟,一個是load 一個tag立面的ABC(actionscripte byte code) DATA代碼 並即時編譯成pc code來執行。二是顯示對象到舞臺上。而framerate又是固定的,如果第一步執行代碼太長或者第二部顯示對象太大都會影響遊戲體驗。所以從內存和cpu的角度上看,有幾個方面是值得優化的。

(1) 內存

a 顯示對象本身的大小,比如sprite和shape

b 對象的複用  比如bitmapdata,因爲flash有這樣的功能,當一個bitmapdata已經之前用過了,第二個對象也可以直接用它,並且不增加內存。所以在遊戲裏面將位圖或者swf逐幀轉換,隨時引用。

c 對象池 或者shareObject,可以使得引用速度增加2倍以上。

d 圖片本身的大小可以用ps減小。swf可以再矢量圖上減小。

e 某些xml文件如果必須在加載遊戲開始的時候用到,就可以用zip來壓縮加載。zip比多個文件的下載速度快很多。

(2) cpu

a frameRate可以根本上改變遊戲的cpu佔用

b timer和enterframe最好做到統一調用,全局監聽

c 當一個swf在fla中引用時,可以不必要是movieclip,可以當做sprite。具體操作時改變movieclip的繼承選項。

d 當一個moviecllip不必要在statge上顯示時,如果沒有啥stop掉,它仍然會佔用cpu最好unloadandstop,這個方法比較徹底的卸載了。

e 一個類立面就只寫一個監聽,通過判斷target來區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章