騰訊遊戲效能實戰案例分享之幀率陡變
一月一度的遊戲效能專項迴歸測試過程中,我們再Galaxy S9 Plus手機上測試發現,幀率出現陡降問題,非常有規律的:進入遊戲玩一段時間幀率FPS出現緩慢降低,從50幀降低到十幾幀,然後一直持續低幀率,低幀率情況下Jank卡頓明顯增加,具體如PerfDog客戶端截圖:
對應web截圖(web圖表資訊看的會更直接些)如下:
開發同學還以為是遊戲程式碼問題,列印堆疊資訊也沒看出什麼問題,CPU利用率15%左右,總利用率40%左右都很正常,問題是陡降過程中,CPU利用率也無變化。 如圖:
排除了CPU的原因,那是否是記憶體memory出現洩漏,導致記憶體不夠用以至於出現記憶體swap置換問題被? 但透過資料看,500-600MB左右也很正常。 如圖:
CPU和記憶體都沒有問題,遊戲的渲染畫面,相對來說GPU可能出現瓶頸,逐對GPU進行檢視,發現幀率陡降過程中GPU利用率從80%-40%左右,說明GPU不是效能瓶頸點,GPU降為40%這個如何理解? 是由於幀率降低了,渲染東西變少了,自然利用率降低。
很容易想到的點都分析到,都沒發現說明問題。 在測試過程中發現手機發熱厲害,會不會與溫度有關? 如圖:
實際測試發現,發現溫度竟然高達70度了,這是要煮雞蛋的節奏? 憑對CPU硬體感知,覺得可能是高溫引起CPU降頻。 馬上檢視CPU Freq頻率資訊,如圖:
圖片發現幀率從47幀講到16.9幀,頻率從1700+2800降低到576+825。 驗證了確實是降頻引起幀率降低,頓開茅塞的感覺。 這次問題也得以解決。
PerfDog專家課堂劃重點:
手機硬體溫控系統,為什麼需要溫控?
因為: 手機高頻執行類似發動機一樣,產生極大能耗熱量,高頻隨著執行時間,溫度會持續增加,若不加控制,會不會上幾百度? 會燒燬CPU晶片,所以硬體需要溫度控制,如何控制? 唯有降低CPU頻率,當溫度超過一定閾值,就會觸發溫控降頻機制。 不同手機廠商溫度閾值不一樣,有些手機50度就會降頻,有些手機65度才會降頻,之前測試過小米5,好像不到50度就會降頻,對溫度及其敏感。
PerfDog是專注於移動效能測試分析的平臺,能夠提供很多效能資料,每一項資料都很有意義和價值。 但是在分析問題過程中,需要多資料一起聯動分析,可能會發現意想不到的效果。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31420651/viewspace-2684877/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HarmonyOS:幀率和丟幀分析實踐
- 騰訊雲大資料實戰案例大資料
- 騰訊高手出品!AR 遊戲設計實戰案例覆盤總結遊戲設計
- 遊戲混合變現案例分享和變現優化技巧遊戲優化
- win10遊戲幀率上不去怎麼辦 win10玩遊戲幀率上不去解決方法Win10遊戲
- 如何應對CPU幀率瓶頸和卡頓?騰訊遊戲學院專家帶你剖析遊戲
- 線上最佳化之案例實戰
- 求變的騰訊遊戲遊戲
- 實戰 PerfDog 優化小遊戲效能優化遊戲
- 線上業務最佳化之案例實戰
- Cocos Creator - 微信小遊戲 實戰分享遊戲
- 小程式入門到實戰(二)--案例原始碼分享原始碼
- 好程式設計師web前端分享js實現實戰案例程式設計師Web前端JS
- 騰訊戰略「遊戲新經濟」全面入侵現實遊戲
- PerfDog可以助力高幀率遊戲生態更全面發展遊戲
- [Android]幀率測試Android
- 直播分享| 騰訊雲 MongoDB 智慧診斷及效能優化實踐MongoDB優化
- 效能改進之專案例會匯入實踐
- 騰訊 、 網易的足球遊戲大戰遊戲
- Flutter幀率監控 | 由淺入深,詳解獲取幀率的那些事Flutter
- 清華尹成帶你實戰GO案例(19)Go變數Go變數
- JVM-棧幀之區域性變數表JVM變數
- AI實戰分享 | 基於CANN的輔助駕駛應用案例AI
- OpenGL 之 幀緩衝 使用實踐
- Flink實戰之寫Hive效能問題Hive
- Elasticsearch 億級資料檢索效能最佳化案例實戰!Elasticsearch
- WinDbg(3)實戰案例
- 【騰訊Bugly乾貨分享】React Native專案實戰總結React Native
- MyDumper實戰分享
- 騰訊遊戲學院專家:UE高階效能剖析技術之RHI遊戲
- 遊戲案例|Service Mesh 在歡樂遊戲的應用演變和實踐遊戲
- 阿里,網易遊戲,騰訊,smartx的offer面試分享阿里遊戲面試
- 遊戲資料分析的三大實戰案例深度解讀遊戲
- 遊戲轉化率③:"海外"廣告投放分享篇遊戲
- 最佳化遠端桌面RDP,使用GPU和幀率60幀GPU
- Web 動畫幀率(FPS)計算Web動畫
- OpenFaaS實戰之六:of-watchdog(為效能而生)
- Sharding JDBC案例實戰JDBC