日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPS手游《战地先锋》性能案例精讲

發布時間:2025/3/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPS手游《战地先锋》性能案例精讲 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、CPU性能

該游戲在CPU占用方面的性能非常不錯,下圖為該游戲在紅米Note2 設備上按照劇情進行游戲時的性能數據。可以看出,在紅米Note2 上運行的24979幀中,超過33ms的幀數占比為4.3%,超過50ms的幀數占比為1.2%??紤]到切換場景時資源加載的開銷,一款游戲如果超過33ms的幀數占比低于10%,則說明該游戲在絕大多數時刻的運行中都是非常流暢的。

通過進一步統計,該游戲的CPU性能超過了84%的紅米Note2設備上的測試游戲,其能耗更是低于91%的同設備測試游戲。

其整體CPU性能的優秀表現與其各個模塊的合理使用是分不開的。下面,我們就詳細講解一下其CPU性能方面的亮點之處。

1、渲染模塊

通過UWA性能測評報告,我們可以看到該游戲詳盡的渲染模塊性能開銷。該游戲在紅米Note2設備上運行時的渲染模塊CPU開銷如下圖所示。通過統計,半透明物體渲染的CPU消耗均值為1.5 ms,主要集中在 0.7~2.7ms 范圍內(5%~95%)。不透明物體渲染的CPU消耗均值為1.8 ms,主要集中在 0.2~4.6ms范圍內(5%~95%)。

Draw Call峰值為340,雖然峰值較高,但僅在場景切換處出現,這是因為項目在動態加載后通過代碼調用StaticBatching的方式來合并Draw Call,所以可以看到Draw Call數量在進入場景后迅速回落。同時,Draw Call數量主要集中在 48~179 范圍內(5%~95%),屬于合理范圍之內。

下圖為該游戲在紅米Note2上的具體CPU性能堆棧??梢钥吹?#xff0c;該游戲在紅米Note2上無論是不透明開銷還是半透明開銷均處于較低水平,這得益于研發團隊對于場景模型、蒙皮網格和UI的控制十分得當。

美中不足的是Shader.SetPass稍高,這主要是渲染模塊中RenderState的切換較為頻繁所致,對此,建議大家對場景中的Material數量進行控制,具體可以參考:《使用MaterialPropertyBlock來替換Material屬性操作》

2、UI模塊

該游戲在紅米Note2設備上運行時的UI模塊CPU開銷如下圖所示。該游戲使用UGUI作為UI界面的解決方案。經過統計,UI模塊總體的CPU占用均值為1.9ms,主要集中在0.1~3.6ms范圍內(5%~95%),屬于合理范圍之內。

其均值高于70%的行業數據,這是因為該項目使用的是Unity 4.7版本進行開發,該Unity版本中,UGUI并沒有像Unity 5.3版本以后將部分拼合操作放到子線程中進行。在這一點上,Unity 4.x的UGUI性能較之5.3+版本確實要多一些性能上的開銷。堆內存平均每幀分配為5.5B,僅高于5%的行業項目,這說明該游戲UI界面的制作及UI重建的影響范圍非常合理。目前,UWA推薦UGUI模塊中,平均每幀堆內存分配盡可能控制在2KB以下。

從下圖中可以看出,Canvas.SendWillRenderCanvases在不同的運行時刻均出現CPU高值,但通過運行截圖可以看到,其共同特點是CPU耗時高值均發生在畫面底層的UI選人界面出現時。因此,該UI界面的出現或相關操作極有可能是引發Canvas.SendWillRenderCanvases CPU過高的原因,建議研發團隊對該界面進行進一步檢測。

3、動畫模塊

在UWA測評報告中,該游戲運行時的動畫模塊CPU開銷如下圖所示。

可以看出,除進入場景時出現CPU高值外,其在戰斗副本中的CPU開銷均控制在較低水平。Animator.Update的CPU均值為1.8ms,主要集中在0.1~3.4ms區間內,其性能較為優秀,高于28%的行業項目。同時,MeshSkinning.Update的CPU均值為1.8ms,主要集中在0.1~3.4ms區間內,高于21%的行業數據。

同時,經過進一步檢測發現,其進入副本時的CPU高值均為lhAnimatorEvent.OnEventCallback回調函數所致,具體的CPU耗時堆棧如下圖所示。通過此堆棧可知,其耗時主要為UI界面的加載耗時,且進一步通過資源管理信息可知其主要開銷為luaUI_PK(Clone)的Active操作和luaUI_Hall(Clone)的Deactive操作所致。因此,建議研發團隊可進一步檢測該UI的制作是否合理,并對其進行完善。

4、GC調用

該研發團隊對于GC調用頻率控制得非常出眾,游戲在運行過程中,GC調用頻率為1921幀/次,優于目前95%的行業內游戲。

一般來說,如果一款項目的GC調用頻率可以控制在1000幀/次以上,就已經相當出眾了。該游戲的GC調用頻率如此優秀,主要得益于研發團隊對于項目代碼堆內存的控制。下圖為游戲運行25000幀的代碼堆內存具體分配情況。對于使用UGUI的游戲來說,我們建議游戲運行每1萬幀中,Top10函數的堆內存分配總和小于30MB,而該游戲運行25000幀,其Top10函數的堆內存分配總和才26.91MB,足見該團隊對于堆內存分配的理解非常深刻。


二、內存模塊

《戰地先鋒》在內存上的表現如下圖所示??們却娣逯颠_到249MB,Mono堆內存峰值為32.5MB。243MB的總內存分配相對來說略高,研發團隊可嘗試在低端機器上對資源進行進一步控制,從而降低低端機器上的內存占用。

1、Mono堆內存

從上圖可知,該游戲的總體Mono堆內存控制得很好,在25000幀中,Mono的堆內存峰值僅為 32.5MB。該值屬于合理范圍之內(<40MB)。

但是,從走勢上來看,其堆內存的占用在游戲運行過程中持續處于上升趨勢,對此,建議研發團隊對緩存池進行進一步檢測,排查項目是否存在堆內存泄露的隱患。

2、資源內存

經過統計,該游戲的紋理資源數量峰值為618個,內存占用峰值119.5MB。紋理內存占用較高,目前高于82%的行業項目。經過統計,在內存占用峰值處,ETC1格式紋理占有221個,Alpha8格式紋理占有5個,RGBA32和ARGB32格式紋理共占有120個,RGB24格式紋理占有87個,其余為RGBA16格式紋理。

對于RGBA32、ARGB32的紋理,我們建議在視覺效果可以保證的情況下,盡可能使用ETC1格式紋理(Android平臺)進行替換,不僅可以達到更小的內存占用,同時可以獲得更快的加載效率。而對于無法進行硬件壓縮的紋理,可以通過Dither方法嘗試將其轉換成RGBA16格式的紋理,具體做法可以參考此篇文章。

其他資源的內存占用情況如下:

Mesh資源:

內存峰值高于41%的項目

AnimationClip資源:

內存峰值高于40%的項目

AudoClip資源:

內存峰值高于73%的項目

AudioClip的內存占用較高,高于73%的行業項目。對此,研發團隊可嘗試將內存占用較高的音頻資源通過Stream的方式來進行加載,該方式可極大降低AudioClip資源的內存占用。

以上則為《戰地先鋒》游戲在CPU性能和內存管理方面的具體使用情況。優秀的CPU性能、非常少的堆內存分配以及引擎模塊間的合理使用,足以看出該研發團隊非常深厚的技術功底和對于引擎相當優秀的把控能力。


三、性能優化、進無止境

該游戲在Shader加載和GameObject Active/Deactive方面仍有一定的提升空間。在此,我們對其進行羅列,希望同樣可以幫助到大家的研發項目。

1、Shader加載

目前,游戲副本切換時存在較高的Shader解析(Shader.Parse)開銷,如下圖所示。通過具體資源信息中的Shader資源分析,可以定位是如下幾個Shader的加載耗時,對此,建議研發團隊嘗試對頻繁使用的Shader進行預加載并常駐內存,從而減少不必要的Shader重復加載耗時。

2、GameObject Active/Deactive調用次數過高

該游戲在運行過程中,GameObject Active/Deactive的調用次數過高,在游戲運行的25000幀中,Active調用268952次,Deactive調用393490次。其調用的具體次數如下圖所示(下圖為游戲運行每10幀進行一次Sample,而每個Sample的數值為前10幀中Active/Deactive調用次數的總和。

其中,GameObject的Active/Deactive Top10資源信息具體如下所示,因此,研發團隊可通過下表直接對頻繁進行Active的GameObject進行完善。Deactive的完善亦然。

頻繁的Active/Deactive操作不僅會造成CPU的浪費,同時,它還很可能間接造成更大的CPU耗時,比如Animator.Initialize耗時。該游戲的Animator.Initialize調用較為頻繁,且耗時較高,如下圖所示,而這就是頻繁的Active/Deactive操作所造成的結果。因此,對于GameObject不必要的Active和Deactive操作進行控制,是非常有必要的。

最后,非常感謝《戰地先鋒》研發團隊對 UWA 的認可和支持。感謝他們樂于將項目性能數據與大家一起分享,讓更多的研發團隊了解到一款性能優秀的3D移動游戲在各個模塊上可以做到怎樣的程度。同時,也歡迎更多的開發團隊可以與我們一起來分享你們的性能數據,讓更多的游戲開發者受益!

PS:安利這款FPS手游,在TapTap上已經獲得了8.6的高分,并將于9月7日在14個安卓渠道同時開啟付費刪檔測試,歡迎大家來預約!






原文出處:侑虎科技
本文作者:admin
轉載請與作者聯系,同時請務必標明文章原始出處和原文鏈接及本聲明。

總結

以上是生活随笔為你收集整理的FPS手游《战地先锋》性能案例精讲的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产欧美一区二区三区国产幕精品 | 国产又粗又长又黄的视频 | 无码成人精品区在线观看 | 毛片入口 | 日韩免费av一区 | www.亚洲色图.com | 96久久 | 99色影院| 精品久久二区 | 久久xx| 青春草视频在线免费观看 | 91色漫| 国产在线观看av | 在线观看国产网站 | 可以免费在线观看的av | 成人免费视频国产免费网站 | 少妇太爽了太深了太硬了 | 国模一区二区 | 成人app在线 | 久久乐国产精品 | 亚洲高清视频网站 | 久久青青热 | 久久一线 | 女人的洗澡毛片毛多 | 欧美一级淫片bbb一84 | 午夜啪啪网| 亚洲成人高清 | 男女视频一区二区 | 蜜桃av网站| 99成人 | 日韩久久一区二区三区 | 免费人妻精品一区二区三区 | 国产做受高潮漫动 | 四虎影视免费 | 色综合久久久久无码专区 | 黄色裸体视频 | 香蕉视频三级 | 神马午夜精品95 | 快色在线观看 | 日韩成人精品视频 | 黑帮大佬和我的365日第二部 | av日韩一区| 国产三级精品三级在线观看 | 岛国av免费在线 | 精品一区二区三区四区视频 | 欧美中文视频 | 999精品在线观看 | 岛国片在线播放 | 视频一区二区不卡 | 黄色操人 | 国产视频在线观看一区 | 欧美日韩免费看 | 中文字幕精品无 | 国产精品搬运 | 丝袜一级片 | 99精品视频免费看 | 日韩精品一区二区三区免费视频 | 4438国产精品一区二区 | 免费在线观看黄 | 亚洲午夜精品一区二区三区他趣 | 欧美日韩视频 | 国产精品久久一区二区三区动 | 欧美顶级毛片在线播放 | 91精品欧美 | 97在线免费 | 91精品人妻一区二区三区 | 国产高清在线精品 | 日韩av手机在线观看 | 成年人网站免费 | 日产久久久久久 | 韩国无码一区二区三区精品 | 91丨porny丨国产 | 日本一道本在线 | 日韩精品久久久久久久的张开腿让 | 美女脱了裤子让男人桶 | 国内精品久久久久 | 丰满少妇被猛烈进入一区二区 | 国产av自拍一区 | 日韩精品一区二区三区四区五区 | 催眠美妇肉奴系统 | 国产美女极度色诱视频www | 最新国产一区 | 国产日韩一区二区在线观看 | 不卡视频一区二区三区 | 国产农村av| 久久精品免费在线观看 | 亚洲三级黄色 | 色多多网站 | 免费一区 | 天天综合网在线 | 青草成人免费视频 | 日本三级视频在线播放 | 久久精品电影 | 精品在线观看视频 | 伊伊总综合网 | 黄网在线播放 | 久久久国产片 | 成人精品视频在线观看 | 亚洲美女自拍 |