遊戲開發中遊戲效能的最佳化
大家好,我是優就業小優,又和大家見面了。
這節課我們來聊聊遊戲效能最佳化。大家在玩遊戲的時候可能經常會遇到卡頓,延遲,當機,不流暢等等問題,那麼這些問題是怎麼引起的呢?如何去儘量的減少這些情況的發生呢?這些問題對於遊戲開發者來說是必須要面對的問題, 也是必須要解決的問題!下面就由我來給大家講講在開發中我們應該從哪些方面著手去減少或者解決這些情況的發生。
上面我們例舉在遊戲執行的過程中可能會遇到的一些問題, 每種問題引起的原因有很多多,但是我們可以從大方向對整體遊戲進行最佳化,使遊戲整體效能更優,從而減少這些情況的發生。對於效能最佳化我們大體可以從四個大方向去最佳化,即:CPU,GPU, 記憶體以及網路和IO,下面給大家一一講解:
CPU最佳化,在遊戲中CPU主要分擔著運算的責任,因此像短時間大量的計算從而導致畫面不流暢,電量消耗大,發熱嚴重等情況都可能是因為CPU導致的。針對這些情況我們就需要對CPU最佳化,那麼CPU的最佳化說白了就是對運算的最佳化,大家應該儘量減少大量運算或者短時間的大量運算,對此大家可以從四方面著手。一是將計算分散到多個邏輯中,減少短時間的大量運算。二是將可以快取的資料儘量快取起來,從而避免那些重複的計算。三是減少CPU對資源的申請、銷燬與調配。四是使用合理的演算法和資料結構,這個也是CPU最佳化中最重要的。
GPU最佳化,GPU的職責就是負責遊戲中所有的影像、特效的渲染。GPU的消耗過高會導致遊戲畫面卡頓、畫質降低、手機發熱等情況,嚴重影響遊戲體驗。對於遊戲來講這是致命的。關於CPU最佳化大家可以從以下幾方面入手:
1、資源最佳化,比如合理規劃圖集,指定合理的粒子效果,約定模型的三角面數
2、簡化著色器,使用多級紋理與材質貼圖技術相結合
3、使用LOD技術、遮擋剔除等技術,減少GPU繪製的數量
4、針對不同的系統平臺使用對應的壓縮格式。
5、最佳化視訊記憶體頻寬
遊戲渲染可以說是遊戲的心臟,所以GPU的最佳化顯得尤為重要,需要開發者格外的重視
記憶體最佳化,記憶體的功能我就不多介紹了, 相信大家都瞭解。由於記憶體不足所導致的問題有閃退,卡死等。對於記憶體的最佳化,一是降低資源的大小,比如剔除不需要的資源、對資源進行壓縮等;二是及時動態的載入和解除安裝資源,這樣可以大大的減少瞬時記憶體的壓力,減少因記憶體浪費而給遊戲帶來不必要的消耗。三是降低資源的質量,這是一種有損的最佳化,不到最後一般不用,當然我們也可以根據不同的裝置使用不同質量的資源,將損失降到最低。
網路和IO最佳化, 他們主要負責資源的載入, 可能是網路的或者本地的。網路不好,或者資源載入時間過長會讓大大降低使用者體驗。因此在CPU、GPU、記憶體最佳化後我們同時也不能忽略網路與IO最佳化,對於網路與IO的最佳化,大家可以從以下幾方面入手:
1、限制短時間內的發包率
2、合理最佳化包大小,減少包的冗餘資料,降低網路請求次數
3、對回包進行分幀處理,及時響應
4、使用獨立執行緒、協程等手段最佳化資源載入。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2692131/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遊戲開發中的道具管理遊戲開發
- 移動遊戲的效能最佳化 | 材質最佳化篇遊戲
- 遊戲開發中的紅點提示遊戲開發
- 遊戲開發中的資料表示遊戲開發
- 遊戲開發效能優化之物件池遊戲開發優化物件
- 遊戲開發中的專業術語遊戲開發
- 喵的Unity遊戲開發之路 - 推球:遊戲中的物理Unity遊戲開發
- 遊戲開發效能優化經驗總結遊戲開發優化
- 獨立遊戲開發中的物理系統遊戲開發
- 遊戲開發中的多語言處理遊戲開發
- 專案管理——遊戲開發中的成本管理專案管理遊戲開發
- 遊戲開發中的“門”,有多難搞?遊戲開發
- 遊戲開發中的人工智慧遊戲開發人工智慧
- 詳細整理iOS中UITableView的效能最佳化iOSUIView
- 遊戲開發學院:小談遊戲中的各種平衡(轉)遊戲開發
- 微軟在遊戲開發者大會透露win10遊戲模式細節:提升遊戲效能微軟遊戲開發Win10模式
- Protobuf在微信小遊戲開發中的使用技巧遊戲開發
- Supersonic 啟動 SuperSpring 遊戲徵集賽,推出留存最佳化外掛加速遊戲開發Spring遊戲開發
- 遊戲開發經驗——遊戲開發的基本常識(轉)遊戲開發
- 機器學習能在遊戲開發中做什麼?機器學習遊戲開發
- 遊戲開發入門(一)遊戲開發概述遊戲開發
- 機器學習將在遊戲開發中的6種應用機器學習遊戲開發
- HTML5遊戲開發過程中的二三事HTML遊戲開發
- 遊戲開發遊戲開發
- win10 n卡最佳化遊戲效能介面在哪裡_win10 n卡最佳化遊戲效能介面怎麼設定Win10遊戲
- 遊戲開發者:過半移動遊戲開發者使用Unity引擎遊戲開發Unity
- B站上的獨立遊戲開發者遊戲開發
- 遊戲開發中的新手引導與事件管理系統遊戲開發事件
- 遊戲開發中不同時區下的時間問題遊戲開發
- Python遊戲開發工程師的起步,幾款遊戲開發案例Python遊戲開發工程師
- 如何最佳化程式的效能
- 常用的效能最佳化方法
- ios遊戲開發iOS遊戲開發
- flash遊戲開發遊戲開發
- 遊戲開發流程遊戲開發
- 【效能最佳化】ORACLE資料庫效能最佳化概述Oracle資料庫
- 被指控“性侵”的遊戲開發者之死遊戲開發
- 活下來的 VR 遊戲開發者VR遊戲開發