【手機遊戲開發優化篇】資深遊戲開發工程師詳解手遊[體積]及[執行記憶體]的優化篇!
新年剛過,由於近來沒有寫新教程,感覺有點對不住大家,所以今天給大家來一篇超實用文章!也算補過新年小禮物給大家吧。
——————————————-Himi 簡易分割線——————————————-
程式包的【體積】優化方法:
首先 你需要很清楚當前自己專案什麼地方佔的體積最多,例如動畫序列多少MB、地圖佔多少MB等等,都要提前做一個Check! 別總是認為哪裡哪裡可能佔的多,要詳細的知道才行!
1. 採用工具對資源進行[打包],例如TexturePacker 等工具。
2. 採用png壓縮工具等,在打包圖片前對每張圖片進行[壓縮]!
如果以上兩點都做了還是體積過大,那麼繼續採取如下辦法:
3. [降低圖片質量],比如你專案使用的圖片是24bit,那麼你可以採用低一些的,例如8bit的圖片質量類似。 (ps.別說這樣會讓圖片失真,先試試降低到什麼程度的bit最合適再說)
4. 使用特定的壓縮格式的圖片,例如[wdp] 等等
5. 如果專案中幀序列動畫佔的比較多,那麼可以採取[降幀]的方式來優化。
6. [縮放] 圖片!舉例,假設你專案用了10張500*500規格的圖片,那麼你可以讓美術把這種圖片縮放70%~80%,然後用這種縮放過的圖片進行程式放大。(這種方式的圖片質量是否會看起來失真,完全取決於縮小的倍數決定,可以適當調整縮放倍數,但是此方法絕對可行!)
7.如果以上方式都優化過,那麼可以採取 [換思路]方式,假設你的地圖是一張500*500的大圖作為背景地圖,那麼你要考慮是否可以採用地圖編輯器來進行拼接的方式來進行!
8. 採用[編輯器],可以利用地圖編輯器、動作編輯器、骨骼編輯器等從而減少資源的使用從而達到減少體積,降低記憶體的使用。
9. 如果以上方式還都無法讓你的專案包體積降低,那麼你只能採用[線上更新下載]了,將程式包分為兩部分,一部分是啟動遊戲所需的必要資源,另外一部分是遊戲啟動非涉及到的資源,將啟動不會使用的資源放在伺服器端,通過線上更新方式,從伺服器將其他資源下載到客戶端即可。
10. 再如果以上方式都採用後還是體積偏大,寶貝,你只能來個[閹割版]了,常命名為[xxx Lite]
——————————————-Himi 簡易分割線——————————————-
程式【執行記憶體】的體積優化方法:
其實降低程式包體積的方法很多都同時降低了程式的執行記憶體,例如:
1. [降低圖片質量]、[調整圖片規格]、 [採用編輯器]、[縮放圖片] 等等。
其他方法:
2. [檢查程式碼邏輯 ,主要看資源載入相關的部分程式碼]
3.[ 檢查釋放邏輯程式碼]
其實對於記憶體的優化,主要還是看專案的型別和複雜度的,具體問題具體考慮吧~
好了,本篇就簡單介紹到這裡啦~ 希望對各位童鞋有所幫助~新的一年,祝願大家步步高昇、各種升職加薪!!!
轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/android-game/1521.html
【關於我們】
每天名企社招內推(微信公眾號:ourpush),專注於國內各大網際網路公司社會招聘內推。每天更新最新網際網路名企(包括但不限於網易遊戲、BAT、網易網際網路、小米、京東、樂視、攜程等名企)內推資訊,有技術崗、有產品崗、有運營崗、有設計崗、有互動崗、有銷售崗,更有其他N多相關崗位!更多內推資訊請掃描以下二維碼關注查閱。
相關文章
- 【手機遊戲開發優化篇】詳解手遊[體積]及[執行記憶體]的優化篇!薦遊戲開發優化記憶體
- android 記憶體優化篇Android記憶體優化
- Android效能優化篇之記憶體優化--記憶體洩漏Android優化記憶體
- Webpack 打包優化之體積篇Web優化
- Linux 效能優化之 記憶體 篇Linux優化記憶體
- Android效能優化之記憶體篇Android優化記憶體
- android,記憶體優化詳解Android記憶體優化
- Android記憶體優化之static使用篇Android記憶體優化
- 讀書筆記2-記憶體優化篇筆記記憶體優化
- Android深度效能優化--記憶體優化(一篇就夠)Android優化記憶體
- JNI記憶體管理及優化記憶體優化
- 記憶體使用總結篇 -- Android 記憶體優化第五彈記憶體Android優化
- 效能優化——記憶體洩漏(1)入門篇優化記憶體
- Linux效能優化實戰記憶體篇(五)Linux優化記憶體
- 效能優化——記憶體洩漏(2)工具分析篇優化記憶體
- 【Android 效能優化】—— 詳解記憶體優化的來龍去脈Android優化記憶體
- Android記憶體優化(五)詳解記憶體分析工具MATAndroid記憶體優化
- 效能優化——記憶體洩漏(3)程式碼分析篇優化記憶體
- HBase記憶體配置及JVM優化記憶體JVM優化
- 【Spark篇】---Spark調優之程式碼調優,資料本地化調優,記憶體調優,SparkShuffle調優,Executor的堆外記憶體調優Spark記憶體
- Android效能優化 - 記憶體優化Android優化記憶體
- Presto記憶體調優及原理(基礎篇)REST記憶體
- 一篇文章帶你瞭解 Java 自動記憶體管理機制及效能優化Java記憶體優化
- app 的記憶體優化APP記憶體優化
- 記憶體優化策略記憶體優化
- UIImage 記憶體優化UI記憶體優化
- PHP記憶體優化PHP記憶體優化
- 記憶體優化技巧記憶體優化
- Android記憶體優化(六)LeakCanary使用詳解Android記憶體優化
- Android 效能優化之記憶體優化Android優化記憶體
- 記憶體優化相關記憶體優化
- Android記憶體優化Android記憶體優化
- Python 記憶體優化Python記憶體優化
- Android 記憶體優化Android記憶體優化
- UE 手遊在 iOS 平臺執行時記憶體佔用太高?試試這樣著手優化iOS記憶體優化
- Android記憶體優化之圖片優化Android記憶體優化
- 實踐App記憶體優化:如何有序地做記憶體分析與優化APP記憶體優化
- 關於redis記憶體分析,記憶體優化Redis記憶體優化