如果閃退是因爲內存崩了|GPM 2.0 實操之Session篇

有圖有真相的內存泄漏。

這是一份玩家手機設備上的真實數據,在45分鐘內,遊戲PSS內存從約1.3GB上升到約3.5GB,這意味着8GB內存的手機已在崩潰的邊緣瘋狂試探!

還有一種經常遇到的現象,一些持續時間較短的、或是複雜度相對簡單,但是在遊戲中的位置又比較靠後的場景(例如:戰鬥結算場景),會出現如下圖這樣的棘手情況。 在這個4分多鐘的場景中,項目的PSS內存持續在3.6GB的高位,但卻沒有PSS內存泄漏的趨勢。

這些問題如何發現、如何定位、如何解決?今天我們就通過對GPM 2.0 Session報告的介紹,讓項目組瞭解如何發現內存泄漏以及過度緩存的問題,還玩家一個完整的遊戲體驗。

關於 GPM 2.0

GPM 2.0 是一款專爲上線或測試階段的遊戲項目打造的高效性能監測工具。它不僅深入捕捉宏觀性能數據,還通過其獨特的性能無損截圖功能,讓開發者在不影響玩家體驗的前提下,全面掌握玩家運行時的關鍵細節,從多個維度優化遊戲的性能表現,提升整體用戶體驗。

我 們在 做性能評估時,通常聚焦於FPS幀率、PSS內存佔用及功耗這三大直接影響玩家體驗的指標,它們分別關聯着玩家經常投訴的“畫面卡頓”、“應用崩潰”及“設備過熱耗電快”問題。 其中PSS內存的變化更因受到玩家行爲路徑的影響,導致自測用例無法全面覆蓋。所以,針對PSS內存問題的診斷,細緻觀察內存變化趨勢顯得尤爲重要。

在GPM 2.0「異常Session篩查」報告中(所謂Session,就是從玩家啓動遊戲到完全退出遊戲的片段),我們能夠超越單一場景的侷限,全面審視玩家整個遊戲過程中的性能數據。在玩家遊戲過程中所有被記錄了異常的場景報告都會被整合在同一份Session報告中。

例如下圖所示,整個Session中共有2個場景採集到了異常數據,可以發現其中第二個場景下的PSS內存表現比較平穩,但是第一個場景中存在着明顯的疑似PSS內存泄漏的趨勢。當結合場景信息、遊戲畫面截幀,開發人員可以掌握玩家是通過什麼行爲路徑導致內存沒有釋放。‍‍

以下是幾種常見導致內存泄漏的原因,可以對照參考:

1. 觀察GPM 2.0報告截幀展示的信息,是否有有明顯的新UI、物件進入畫面,例如Boss、怪物、特效等,從而判斷是否新添加的資源出現了未卸載的問題;

2. 當同一個場景下有部分玩家內存高但是又有大部分是正常的,可以觀察這批有問題的玩家是否攜帶了特殊的某一件裝備/寵物,是否這個裝備的特效或技能導致了內存上漲,有可能是資源自身製作規格的問題,或者邏輯上與加載/卸載相關的Bug。

同時,GPM 2.0還提供了一種“全量數據收集”的模式。在這種模式下,無論是否觸發異常,GPM 2.0會直接採集所有場景下的異常數據,併合併爲同一份Session報告。其中,無論是PSS內存的暴漲還是泄漏導致的緩慢堆積,都會在報告中展示出來。特別適合例如CBT/OBT階段,性能優化和玩家行爲監測兩手都要抓的項目。

虛線爲場景分割線,可見非常典型的疑似內存泄漏趨勢

全量收集數據,可以完整追蹤玩家行爲

當然,同樣的功能我們也可以用來觀察項目的FPS內存表現和功耗表現,對於需要發現整個玩家Session中的局部性能表現不佳場景(例如掉幀和高功耗)的情況,「異常Session篩查」功能都將是幫助項目組快速定位問題的利器。

如果您的項目也希望體驗GPM 2.0的強大功能,歡迎隨時與UWA取得聯繫。我們將爲您提供免費試用機會,並在試用期間全程支持服務搭建、數據分析與反饋,確保您能夠充分體驗GPM 2.0帶來的價值。

聯繫UWA:

郵件:sales@uwa4d.com

微信號:17502188376