最近項目進入收尾階段,以前對項目作了不少優化,mesh合併 ,減小DrawCall和模型骨骼以及物理計算,合併材質球,優化代碼等等,在IOS上還好,可是android上,試過幾款手機,從低端到高端,發現性能仍是不好,因此又花了幾天來研究摸索,終於把遊戲性能搞定。記錄下來,留做之後參考。
1. 更新不透明貼圖的壓縮格式爲ETC 4bit,由於android市場的手機中的GPU有多種,每家的GPU支持不一樣的壓縮格式,但他們都兼容ETC格式,
2. 對於透明貼圖,咱們只能選擇RGBA 16bit 或者RGBA 32bit。
3. 減小FPS,在ProjectSetting-> Quality中的VSync Count 參數會影響你的FPS,EveryVBlank至關於FPS=60,EverySecondVBlank = 30;
這兩種狀況都不符合遊戲的FPS的話,咱們須要手動調整FPS,首先關閉垂直同步這個功能,而後在代碼的Awake方法裏手動設置FPS(Application.targetFrameRate = 45;)
下降FPS的好處:
1)省電,減小手機發熱的狀況;
2)能都穩定遊戲FPS,減小出現卡頓的狀況。
4. 當咱們設置了FPS後,再調整下Fixed timestep這個參數,這個參數在ProjectSetting->Time中,目的是減小物理計算的次數,來提升遊戲性能。
5. 儘可能少使用Update LateUpdate FixedUpdate,這樣也能夠提高性能和節省電量。多使用事件(不是SendMessage,使用本身寫的,或者C#中的事件委託)。
6. 待機時,調整遊戲的FPS爲1,節省電量。html