1. 程式人生 > >Systrace分析遊戲卡頓問題之王者榮耀CPU資源不足

Systrace分析遊戲卡頓問題之王者榮耀CPU資源不足

寫在最前

在18年以前,王者榮耀這款遊戲對手機效能的需求很高,只有少數旗艦處理器才能流暢60幀執行,主要原因是遊戲本身絕大部分任務集中在一個叫UnityMain的執行緒中,這個重負載的執行緒常常會因為CPU沒辦法滿足其效能需求,導致一幀的處理時間超出16ms,進而表現出幀率波動/掉幀。
18年開始遊戲方普及了多執行緒版本,也就是把原來的一個UnityMain拆分成了兩個執行緒,對於CPU的最大效能需求降低了,在同平臺上效能表現當然更好,更穩定

本文的目的是從systrace的角度,來呈現不同的CPU資源(頻率)對於遊戲幀率的影響,首先是要創造對比測試條件

創造條件

  • 遊戲設定 - 王者榮耀
    • 高幀率
    • 單人訓練
  • 對比條件
    • 關閉大核
    • 小核1.7GHz VS 小核 825MHz

systrace 分析

1. CPU頻率

可以看到8423時間點CPU頻率從1.7GHz下降到了825MHz
在這裡插入圖片描述

2. 遊戲幀率

在頻率下降之前,遊戲幀率大概是50-55fps之間,頻率下降到825MHz之後,FPS降低到了40以下

UnityGfxDeviceW執行緒應該就是負責渲染的
首先通過dequeueBuffer拿到buffer,然後繪製渲染,完成之後呼叫queueBuffer通知SF這個buffer可以交到螢幕上去顯示,這樣就完成了一幀
在這裡插入圖片描述

下圖的紅柵格線是16.7ms一格,可以看到在8420ms前後,UnityGfxDeviceW完成一幀的時間差距明顯
在這裡插入圖片描述

3. CPU效能影響
  • 首先這是一個很單純的場景,負載基本一致,沒有太大波動
    所以從上面的systrace就可以確認是CPU的效能影響導致,拿50fps以上和30fps左右的UnityGfxDeviceW來對比
  • 可以看到主要部分的時間從11.3ms變成了19.7ms,而且這個期間程序都基本處於running狀態
  • 程序所處的CPU效能是一致的

圖1 1.7GHz
在這裡插入圖片描述
圖2 825MHz
在這裡插入圖片描述

所以可以通過繪製一幀UnityGfxDeviceW執行緒的running時間來確認,這個是由於CPU效能不足導致的掉幀

相關推薦

Systrace分析遊戲問題王者榮耀CPU資源不足

寫在最前 在18年以前,王者榮耀這款遊戲對手機效能的需求很高,只有少數旗艦處理器才能流暢60幀執行,主要原因是遊戲本身絕大部分任務集中在一個叫UnityMain的執行緒中,這個重負載的執行緒常常會因為CPU沒辦法滿足其效能需求,導致一幀的處理時間超出16ms,進

第2次作業:軟件案例分析王者榮耀

好聽 來源 英雄 http 數據 了解 碎片 img 身邊 一、產品相關信息   隨著時代的不斷發展,我們的生活越來越豐富多彩。以小見大,我們接觸的手機軟件越來越多而且花樣百出:微信、網易雲音樂、王者榮耀、淘寶、STEAM、支付寶、微博等。這些軟件有好有懷,他們不斷地發現問

iOS 14 egret H5遊戲問題分析和部分解決辦法

現象 總體而言,iOS 14 渲染效能變差,可以從以下幾個測試看出。   測試1:簡單demo,使用egret引擎顯示3000個圖(都是同一個100*100 png 紋理),逐幀做旋轉。(部落格園視訊播放可能有問題,視訊地址:https://github.com/kenkozheng/kenkozh

分析微信朋友圈王者榮耀battle記錄

有朋友說看不懂,我做成表格。 統計每個時段battle次數。峰值在中午12點和晚上10點之後,凌晨也大有人在,我是正常人。順手多分析了幾張。你會知道誰有朋友,誰哪天休,誰平生不修善果,只愛殺人放火。誰在乎勝利。 從最

直播電腦遊戲怎麽辦

com https image 帶來 .com 直播平臺 ces size 視頻采集 做過電腦遊戲直播的朋友們相信都有所體會,在直播網遊時很容易出現畫面卡頓現象,這該怎麽辦呢,接下來同三維就來講解一下直播電腦遊戲卡頓怎麽辦。    其實,導致網遊直播畫面卡頓的原因概括一下總

效能優化分析

Android 每隔16ms發出一個VSYNC訊號,觸發CPU跟GPU進行介面渲染,計算跟繪製,讓介面的幀率在1秒內達到60fps,使視覺效果達到自然流暢。如果一個在16ms內不能完成介面的渲染,計算跟繪製,就會產生丟幀的現象,丟幀就會造成應用卡頓現象。

效能優化分析-計算並優化記憶體抖動和耗時操作

1 卡頓(卡UI執行緒) (1)外部引起的:Activity裡面直接進行網路訪問/大檔案的IO操作。 (2)記憶體引起的:記憶體抖動的問題,new Object obj = null;執行耗時方法。 (3)View本身的卡頓:自定義View要注意的,能否優

檢測工具TraceView分析每個方法的執行時間

TraceView介面 現來看一下整個介面的圖,整個介面包括上下兩部分,上面是你測試的程序中每個執行緒的執行情況,每個執行緒佔一行;下面是每個方法執行的各個指標的值 上面一部分是你測試程序的中每個執行緒執行的時間線,下圖中可以可以看到,主要只有一個main執行緒在執行

王者榮耀成功的營銷

三次 multipl 合服 裏的 layer 總決賽 越來越大 決賽 對戰 摘自:http://baijiahao.baidu.com/u?app_id=1554243707806897 百科TA說特邀作者:金龍聊運營 每次我去擠地鐵,環顧四周,最起碼有5個以

張書樂:活久見!王者榮耀不是農藥!拜托,這不過是一個遊戲

王者榮耀今日午後,在香港上市的騰訊控股一度跌5%,目前跌幅近4%。人民網日前發表評論文章稱,《王者榮耀》面向社會不斷在釋放負能量,監管主體有必要讓遊戲多一些“善意”。在很多人看來,這一次是人民網抨擊王者榮耀。我想說,在我看來,這真不是抨擊,而是希望能夠有一個更好的無毒“農藥”,它呼籲的是遊戲廠商的監管,也呼籲

Unity (三) NavMeshAgent:分層路面導航(王者榮耀,英雄聯盟中小兵分三路進攻敵方)

新建 com back phi nim tro walk void cnblogs 效果: 運用分層路面導航讓角色走不同的導航路線 1、新建一個靜態地圖 2、設置3個不同的層 3、給不同的路面設置不同的導航層 4

第2次作業:王者榮耀案例分析

ase 技術分享 alt bsp 模式 mage easy 內存占用 分享 一.介紹產品相關信息 ·你選擇的產品是? 王者榮耀 ·為什麽選擇該產品作為分析? 因為天天玩比較熟悉 ·該產品是怎麽誕生的(在什麽樣的背景下)? 在網遊《英雄聯盟》成功之後,模仿他的

第二次作業:王者榮耀案例分析

pstore 模型 font eight 直觀 強勢 描述 技能 選擇 2.1 介紹產品相關信息 你選擇的產品是?     王者榮耀 為什麽選擇該產品作為分析?     因為當下這款遊戲很火,適玩年齡廣,同時很多爭議在社會引起廣泛關註。 該產品是怎麽誕生的(在什麽

關於18183-王者榮耀專區網站的TDK簡要分析

直接 說明 推廣 長尾關鍵詞 蜘蛛 影響 關鍵詞 連接 desc 首頁 title:王者榮耀攻略_王者榮耀下載_王者榮耀禮包_18183王者榮耀專區 優點:1.title內加了關鍵詞”王者榮耀攻略_王者榮耀下載_王者榮耀禮包”提高了影響,直接告訴蜘蛛網站主營    2.書寫

王者榮耀IT大神版】銘文說明

body 世界 知識 日誌分析 str 合計 park clas 方案 銘文共分五級: 一級:僅有老師提供的筆記 二級:添加了自己的聽課筆記 三級:添加問題+解決方案(常遇到的問題以及自己實踐上遇到的問題) 四級:熟記銘文與並添加聯想學過的知識 五級:深度探究,同類聯想

王者榮耀為例探討搜索指數對IT行業的運營作用到底有多大?

我們 src 今天 ext 才會 png 目標 百度 align 王者榮耀為例探討之搜索指數對IT行業的運營作用到底有多大? 這兩年,一個很有名的遊戲大家應該都聽說過了,那就是騰訊的王者榮耀,這個遊戲聽說非常火爆,但是我沒有玩過,身邊有很多人都玩過,據說非常強大,那麽今天我

Android面試系列文章2018記憶體管理UI

Android面試系列文章2018之記憶體管理之UI卡頓篇 1.UI卡頓的原理   60ftp –> 16ms: Android系統每隔16ms都會對介面進行渲染一次,造成卡頓的原因就是Android系統在渲染的時候丟幀了, 16ms = 1000/60hz,相當於60fps

android 動畫分析工具

android 動畫卡頓分析工具     Android應用效能優化之分析工具   上一次記錄瞭解決過度繪製的過程,這一次,想先弄清個概念性的東西,就是如何判斷順不順暢?   這東西其實最初我自己也覺得有點廢話,用起來會卡就明顯是不順暢咯。   但這東西就跟我很想吐槽很

王者榮耀-闡述閃電匕首孫悟空和宗師力孫悟空的區別

南樂縣 阿里巴巴集團董事局主席馬雲發表致股東的公開信表示:生意難做之時,正是阿里巴巴兌現“讓天下沒有難做的生意”的使命之時。,阿里巴巴(NYSE:BABA)今日釋出了截至2018年9月30日的2019財年第二季度財報(注:阿里巴巴財年與自然年不同步,從每年的4月1日開始,至第二年的3月31日結束)。 財報中

Android分析中常見的log

1 看記憶體 bugreport 開始的時候有pss的資訊 並且進行排序 , 之後會寫一個解析和計算的 2 找system log中關鍵部分 一般裝置hang 住的時候使用者會瘋狂按keycode ,可以找相關log 3keyCode:3 down:true eventTim