ARPG手游性能分析报告:加载、GC、内存需重点关注
總體性能
?
(1)iOS設(shè)備的CPU性能普遍高于Android設(shè)備;
(2)Android設(shè)備上項(xiàng)目性能普遍偏低,CPU達(dá)標(biāo)(超過(guò)33ms幀數(shù)比例<10%)比例僅為38.6%。
?
相較于MMORPG游戲,ARPG游戲的渲染和UI模塊比重明顯下降,自身邏輯代碼的開(kāi)銷(xiāo)基本一致,加載模塊比重明顯上升。這是出于以下原因:
(1)相對(duì)于MMORPG來(lái)說(shuō),ARPG游戲的場(chǎng)景一般較小,UI界面相對(duì)簡(jiǎn)單,因此,渲染模塊和UI模塊的壓力要小于MMORPG游戲;
(2)ARPG游戲重點(diǎn)突出打斗的豐富性和爽快感,所以ARPG游戲研發(fā)團(tuán)隊(duì)會(huì)為角色創(chuàng)建非常復(fù)雜的動(dòng)畫(huà)狀態(tài)機(jī),并且為了保證游戲副本打斗的流暢性,研發(fā)團(tuán)隊(duì)更傾向于在場(chǎng)景切換時(shí)將大量資源一次性載入,因此,ARPG游戲的自身邏輯代碼和加載模塊的壓力更高。
下面我們就來(lái)具體分析下這些主流模塊的開(kāi)銷(xiāo)情況。
主流模塊性能
一、渲染模塊
嚴(yán)重程度:噩夢(mèng)
Draw Call的主體使用范圍為32~166,峰值平均為209;
渲染三角面片的峰值集中在68.8K~268K,峰值平均為90.2K面。
UWA推薦:渲染三角面片峰值< 100K,目前達(dá)標(biāo)比例: 55.2%。
?
不透明物體的渲染耗時(shí)平均為2.9ms,半透明物體的渲染耗時(shí)平均為4.6ms。
54.4%的項(xiàng)目使用了相機(jī)后處理特效,其具體分布如下:
?
(1)ARPG游戲無(wú)論是在Draw Call上還是在渲染的三角形面片數(shù)量上,均小于MMO游戲;
(2)但ARPG游戲的場(chǎng)景渲染三角形面片數(shù)量依然較高,僅55.2%的游戲能夠?qū)?chǎng)景的渲染三角形面片數(shù)控制在10w以下。
二、加載模塊
嚴(yán)重程度:地獄
?
(1)GC觸發(fā)頻率很高,是造成卡頓的主要原因之一;
(2)90%以上的游戲團(tuán)隊(duì)需要對(duì)GC的調(diào)用進(jìn)行進(jìn)一步規(guī)劃,對(duì)代碼的堆內(nèi)存分配進(jìn)行大力優(yōu)化。
?
(1)Instantiate實(shí)例化操作平均每次調(diào)用的CPU耗時(shí)主要分布在: 2.6~44.1 ms,均值為9.4ms,每1萬(wàn)幀總調(diào)用次數(shù)主要分布在: 139~1941 次;
(2)Instantiate的頻繁實(shí)例化是大多數(shù)研發(fā)團(tuán)隊(duì)非常容易忽視的問(wèn)題。
?
Log輸出操作平均每次調(diào)用的CPU耗時(shí)主要分布在: 3.0~33.1 ms,均值為9.8ms。
?
(1)Shader解析操作平均每次調(diào)用的CPU耗時(shí)主要分布在: 4.3~146.8 ms,均值為25.1ms;
(2)Shader解析時(shí)間較高,且大多數(shù)情況是相同Shader的重復(fù)開(kāi)銷(xiāo),值得研發(fā)團(tuán)隊(duì)密切關(guān)注。
三、UI模塊
嚴(yán)重程度:地獄
?
(1) 使用NGUI作為UI解決方案的項(xiàng)目占據(jù)了相當(dāng)高的比例,NGUI目前仍然是研發(fā)團(tuán)隊(duì)對(duì)于UI系統(tǒng)使用的主要解決方案;
(2) UI模塊的性能開(kāi)銷(xiāo)很高,QQ賬號(hào)出售平臺(tái)將近70%的研發(fā)團(tuán)隊(duì)都面臨較為嚴(yán)重的性能問(wèn)題;
(3) 與MMORPG不同的是,ARPG游戲UI模塊的性能壓力相對(duì)較小,優(yōu)化難度相對(duì)較低。
四、粒子系統(tǒng)
嚴(yán)重程度:普通
?
五、動(dòng)畫(huà)模塊
嚴(yán)重程度:普通
?
經(jīng)過(guò)統(tǒng)計(jì),目前僅使用Mecanim動(dòng)畫(huà)系統(tǒng)的ARPG游戲項(xiàng)目占比為45.3%,僅使用Unity3.x老版本動(dòng)畫(huà)系統(tǒng)的ARPG游戲項(xiàng)目占比為17.7%,兩種系統(tǒng)混合使用的項(xiàng)目占比為37.0%。
內(nèi)存模塊
內(nèi)存泄露幾乎是所有手游都難避開(kāi)的問(wèn)題,其在ARPG手游中出現(xiàn)的情況占比為34.9%。
總體內(nèi)存
嚴(yán)重程度:地獄
?
總體堆內(nèi)存
嚴(yán)重程度:地獄
?
紋理資源
嚴(yán)重程度:地獄
?
網(wǎng)格資源
嚴(yán)重程度:普通
?
音頻資源
嚴(yán)重程度:普通
?
Render Texture資源
嚴(yán)重程度:噩夢(mèng)
?
字體資源
嚴(yán)重程度:普通
?
Shader資源
嚴(yán)重程度:普通
?
動(dòng)畫(huà)片段資源
嚴(yán)重程度:普通
?
希望以上數(shù)據(jù)能給大家的開(kāi)發(fā)提供幫助。之后侑虎科技將不斷與大家分享其他類(lèi)型的數(shù)據(jù),如ACT,SLG等
總結(jié)
以上是生活随笔為你收集整理的ARPG手游性能分析报告:加载、GC、内存需重点关注的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用行为树的方式思考:任务系统设计
- 下一篇: 游戏服务端的逻辑分服与物理分服