騰訊遊戲效能實戰案例分享之幀率陡變

腾讯WeTest發表於2020-04-07

  一月一度的遊戲效能專項迴歸測試過程中,我們再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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章