博客 / 詳情

返回

再也不用焦慮特效造成的性能問題了

遊戲的特效表現,可以説有着“在刀尖上跳舞”的難度,需要在確保流暢展現更好的場景氛圍、技能效果、裝備展示、打擊反饋等特效的同時兼顧色彩衝突、卡頓、發熱等影響玩家體驗的表現,最終實現完美的效果和性能表現的最佳組合。

那如何運用UWA Pipeline提供的雲真機系統實現在研發過程中快速、持續且全自動的特效性能檢測呢?本期就向大家分享來自深圳雷霆項目組的實戰經驗。

一、特效資源的專項檢測

特效相關的製作與優化,在項目開發過程中會佔到相當的比重。項目團隊要花費大量的時間去檢驗各類特效資源在項目運行時的直觀表現,同時也要去排查和定位與之相關的卡頓、發熱等問題。

但在項目中對特效資源進行檢測時,往往會受到各種因素的干擾。比如身處不同的關卡場景、環境的複雜程度不一、人物選擇或裝備差異等,都會對特效的展示觀察與數據分析帶來相當程度的影響,例如:複雜的特效在簡單環境下播放時看不出壓力,或者GPU耗時等相關數據混雜了場景內其他元素而無法單獨分析等。

為了排除這些干擾,雷霆團隊的做法是將項目的特效資源單獨出包,通過UWA Pipeline實現了“特效包”在批量的真機上自動安裝、自動運行並輸出特效的性能表現數據。

“特效包”apk在真機運行時,進行特效數為10的播放展示
(可選擇左側欄列表對應的特效)

結合UWA GOT Online性能測評工具,就可以實現特效性能的檢測。UWA建議特別需要關注特效在以下幾個性能參數的表現:

  1. GPU耗時和GPU Cycles: 直接查看粒子特效在真機播放時的GPU性能開銷。研發團隊可以設定一定的閾值(例如3或5ms),對於超過開銷閾值的特效可以篩查和監控;
  2. DrawCall和Triangle: 可以查看粒子系統的複雜程度,一旦超標就可以及時發現;
  3. 半透明渲染耗時:可以直接看出粒子特效播放時在CPU端的開銷。

關於“特效包”的播放用例,UWA建議:

  1. 在新建項目內,以默認天空盒或純色(Solid Color)為背景即可,這樣能避免在數據採集時場景和角色等的干擾;
  2. 以特效為單位進行場景分割,這樣在查看UWA GOT Online的性能分析報告時,各個特效的數據可以互不干擾,便於定位與分析;
  3. 增加前進、後退、重播和跳轉選項,這樣無論是腳本運行還是手動測試,都可以隨時介入,選擇指定特效進行播放與測試;
  4. 在每個特效播放完後,進行清除操作,從而避免內存泄漏。

https://www.youku.com/video/X...
“特效包”的播放示例及GOT Online報告查看


二、UWA Pipeline流水線展示

如圖所示,雷霆團隊為實現在批量真機上的特效檢測,在UWA Pipeline內單獨建立了一條流水線,包含了“Build”、“Upload”和“Test”三個步驟。實現了自動出包、大批量真機設備上的自動安裝,特效資源在真機上的自動播放,以及自動調用GOT Online服務生成性能檢測數據。

“Build”自動打包步驟我們在此不進行贅述,各個團隊可以選擇適合自己項目的打包方式,在Pipeline內直接編寫命令,或者調用已有的打包腳本,確保每次開展測試時,都能從項目中拉取最新的特效資源,實現項目特效資源的自動化打包。

“Upload”步驟,是將“特效包”上傳至Pipeline的包管理,用於後續自動化測試時,在批量真機設備上實現項目的自動安裝。

最後的“Test”步驟,是在流水線內添加了使用GOT Online步驟,選擇適用的腳本和真機設備,如此雷霆團隊用來實現批量真機“特效檢測”的UWA Pipeline流水線就部署完成了。


三、真機運行、數據反饋

在確保所需的真機設備正常接入UWA Pipeline雲真機系統之後就可以開始真機測試了。雷霆團隊的測試包可以實現在排除項目原有環境、場景、角色等因素干擾的情況下,直接觀察各個特效在不同真機設備上的真實表現,從而找出不合理的粒子、貼圖、模型等相關的性能問題。

同時,可以使用UWA GOT Online準確採集特效播放時的GPU耗時、 DrawCall和Triangle參數,通過分析報告,找出其中可能存在的性能問題,並及時優化。


GOT Online - Overview模式中的GPU耗時頁面


四、另一條通向羅馬的路徑:多設備調試

如果當前你的項目還無法通過自動化腳本在真機上實現持續且高頻的特效播放與測試,這種情況下,就可以使用UWA Pipeline中的另一項功能 - 多設備調試(1拖N)

首先,例如“特效包”等可執行的測試包都可以上傳至包管理,然後在真機設備上實現批量化的包體安裝,大幅提高效率。

然後通過多設備調試功能,選定所需的真機設備。在UWA Pipeline網頁端,只需一位測試人員,就可以通過對一台真機設備的操控,從而控制整個設備集羣。

測試結束時,大家就可以手動上傳GOT Online的測試數據(使用UWA Pipeline可以實現測試數據的自動上傳),然後就能對性能報告進行查看與分析。


以上便是雷霆團隊在UWA Pipeline使用上給我們帶來的分享。可以在直觀瞭解特效資源播放表現的同時通過數據及時發現問題,並快速解決。這種將項目特效資源單獨成包,並進行常態化真機運行與測試的方式,相信能為大家在項目日常開發過程中關於對特效的優化帶來更多的思路與借鑑。

更多UWA Pipeline使用案例分享可以查看:

《一款ARPG遊戲是如何搭建雲真機系統的》
《樂享元遊的 UWA Pipeline 最佳實踐分享》

想要實際體驗UWA Pipeline?請點擊《免費試用 |UWA性能保障體系全體驗》,15天Pipeline全服務試用就在眼前!

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.