手遊效能測試指南

2021-09-19 07:26:30 字數 2835 閱讀 9444

1、前言

隨著手遊3d型別遊戲增多,對機器資源占用越發高,但使用者手中硬體的提公升是乙個不可控且緩慢的過程,為了保證在盡量廣泛的機型上流暢執行,提高遊戲本身的潛在使用者群體,所以手遊客戶端效能審核工作就越發重要,如何做客戶端效能審核,如何快速,專業,準確的做客戶端效能審核是我們需要重點關注、且持續建設的內容。

什麼是客戶端效能審核?

客戶端效能審核主要針對不同主流機器(一般來自適配top10)根據不同配置劃分高、中、低機型後,通過在各機型下模擬玩家核心體驗場景、進行效能引數收集、評價該遊戲的效能表現,並且進一步深入分析造成低效能表現原因的審核過程(見圖1-1),通常我們會通過基礎效能審核和精準定位兩套方案流程來保證整個審核過程,而本文的撰寫目的是為了通過清晰的闡述展示效能審核的思路和常用手段。

見圖1-1

文章導航:

效能瓶頸分析思路

基礎效能採集工具aio介紹

常見效能瓶頸定位介紹

2、基礎審核方案

2.1 效能基礎引數

圖2-1

圖2-1流程是資料正確輸出到前台顯示的步驟,其經歷cpu處理、記憶體管理、gpu處理,視訊記憶體管理等階段,若過程出現效能不佳,只有可能是中間的某一環節異常導致,而客戶端效能審核(第一步)就需要定位具體是哪個環節異常。過程中需要統計的效能引數如圖2-2

圖2-2

android平台詳細採集指標

基礎指標:

2.2 基礎採集工具介紹

統計上述引數,市面上有很多任務具,各種試用體驗不爽後我們開發了aio,優劣對比如下,

1)真實幀率,渲染資料採集

採集原理

原理說明

fps獲取:hook到libegl.so中的eglswapbuffers函式,並獲得兩次呼叫的時間差,用1000除以時間差值,即為幀率。

draw call獲取:hook到opengl庫中,統計gldrawelements,gldrawarrays函式執行次數,即每幀中上述函式的執行次數

primitive獲取:hook到opengl庫中,統計gldrawelements,gldrawarrays函式中的頂點數,通過其繪製原理進行換算成圖元,獲取到primitive總數

vbo獲取:hook到opengl庫中,統計glbufferdata、glbuffersubdata函式引數的size大小,統計獲取得到vbo大小

2)精準流量,支援udp訊息統計

採集原理

原理說明

pcap是基於libpcap實現的乙個網路資料流量統計模組。libpcap是unix/linux平台下的網路資料報捕獲函式庫,大多數網路監控軟體都以它為基礎。linux下著名的tcpdump就是以它為基礎的,通過其可以捕獲到鏈路層的資料幀,通過包解析去頭給予應用層的流量大小統計,同時工具可支援對比鏈路層統計流量大小和應用層流量大小,差異太大一般是由於資料量小的包太多從而判斷應用本身是否存在需要合併包。

工具相容和效能

相容機型支援情況

工具測試2小時效能情況

cpu和記憶體如圖消耗很低,且2小時間無明顯波動或持續增長趨勢,工具本身效能影響低

2.3 瓶頸識別

(1)fps瓶頸識別

vbo上傳值超標,可優化相關使用場景,嘗試定位當時場景單幀定位問題根因

(2)記憶體瓶頸識別

1)場景記憶體pss峰值上限評估,4核 2g機器<=300m 2  2核 1g機器<=200mb 單核 768m 機器<=150m

2)記憶體洩露評估,場景設計超1小時以上採集,記憶體無明顯不釋放表現趨勢

(3)流量瓶頸識別

目前識別方式10分鐘消耗流量不超過500kb

(4)視訊記憶體、電量瓶頸識別

目前暫無特定閾值要求,只做統計參考

3、審核精準定位方案

雖然定位思路可通用於各應用,但由於引擎、**邏輯上會有差異,定位細節上會存在不同,以下精準定位詳解主要針對unity3d引擎應用。

3.1定位方法

(1)cpu瓶頸定位

定位引數

採集工具

u3d profiler

常見判斷準則

(2)gpu瓶頸定位

定位引數

adreno profiler

常見判斷準則

(3)記憶體瓶頸定位

定位引數

採集工具

u3d profiler

常見判斷準則

手遊效能測試指南

1 前言 隨著手遊3d型別遊戲增多,對機器資源占用越發高,但使用者手中硬體的提公升是乙個不可控且緩慢的過程,為了保證在盡量廣泛的機型上流暢執行,提高遊戲本身的潛在使用者群體,所以手遊客戶端效能審核工作就越發重要,如何做客戶端效能審核,如何快速,專業,準確的做客戶端效能審核是我們需要重點關注 且持續建...

手遊深度效能測試(一)總述

隨著刺激戰場的出現,標誌著手遊逐漸進入了重度遊戲佔主流的新階段,手機的處理能力已經越來越成為制約遊戲滲透玩家的重要瓶頸,而且按照目前的發展趨勢,玩家對於畫質精細度的訴求越來越高,在玩家換機頻率沒有明顯提公升之前,如何保證手遊客戶端的流暢性和穩定性成為擺在眾多遊戲廠商面前的重要課題。手遊客戶端深度效能...

騰訊手遊效能優化之路

2017 qcon 移動專項最佳實踐 專題講師 何純 圖 2017 qcon全球軟體開發大會現場 經過3 5年的高速發展後,人口紅利正在逐漸消失,ip效應也在減弱 從2016年top10的遊戲來看,主要是競技類和rpg類為主,手遊已逐漸進入到重度的時代,玩法和使用者體驗決定了遊戲的生死,也決定了產品...