Android遊戲開發中的最佳化策略

來源:互聯網
上載者:User

繪圖最佳化:
1、髒矩形:每次都重繪整個背景圖,其實是非常浪費的,前後兩幀的圖其實只有很少的一部發生了變化,因此可以只重繪變化的部分。這是一種常用的繪圖最佳化方式,需要注意的是,android用了雙緩衝,也就是說,使用髒矩形的時候,需要連續繪製兩次才能完成對surface的重新整理。
2、卷屏:這是常用的一種方法,緩衝整張背景圖,抽象出一個可視視窗,僅顯示視窗中的內容,視窗的移動方向與sprite相同,與背景運動方向相反。android遊戲背景圖的解析度一般與螢幕的相同,這種方法很少會被用到。

 

引擎最佳化:
1、流水作業化資源:簡單來說,就是整合資源,不用的資源就及時釋放,需要用到的資源再載入,類似流水線生產過程。比如,遊戲載入過程中,當前關卡(情境、模式等等)使用不到的音樂或者映像資源就全部釋放,僅載入需要用的資源;用不到的線程,不要讓它休眠,一定要把它幹掉;如果有的資源只用得到一部分,那麼就拆解開來,僅載入需要的部分。
2、狀態轉移邏輯:遊戲開發前一定要想清楚狀態轉移,冗餘的狀態變化將損耗架構的整體效能,對遊戲流暢性的影響以及後期修改的成本往往是遠遠超出預期的。不要怕費力,一定要認真最佳化狀態轉移過程。此外,activity之間切換、ui線程和遊戲線程之間的切換,都是非常花費時間的,應該儘力避免。

遊戲邏輯最佳化:
1、預先處理:儘可能地預先處理遊戲邏輯中的運算。比如遊戲中經常要用到隨機數,就應該在遊戲開始之前,產生足夠的隨機數供遊戲邏輯調用,千萬避免使用系統自身的rand()函數。這種最佳化方式難度比較大,但是往往是突破瓶頸的最有效手段。
2、演算法最佳化:這個沒有什麼好多說的,演算法功底和經驗積累很重要,單幹搞不定的,趕快找同事幫忙。
3、文法最佳化:文法對運行速度也有很大影響,比如for迴圈,不同的寫法,時間開銷差別極大

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.