作者:Arm 戰略與生態部游戲內容開發工程師 Patrick Wang
什么是 ADPF?
安卓動態性能框架 (Android Dynamic Performance Framework, ADPF) 技術可為開發者提供更多的設備信息,使其能夠在應用的整個生命周期內把控性能穩定性與資源使用。移動設備的熱信息至關重要,此前開發者需通過每秒幀數 (FPS) 與電池耗電來推斷設備的發熱情況。有了實時的熱信息細節,開發者在電池過熱且系統開始被動地節制性能前,就能主動調整應用內容來減緩熱量積聚。今年稍早,Google 在 GitHub 上發布了 ADPF 的虛幻引擎插件,開發者可以立即啟用 ADPF 提供的功能。一經成功安裝,應用在預設情況下會依據熱量指標調用虛幻引擎中的 SetQualityLevels() 函數來切換可擴展層級,并且動態改變應用的圖形設定,以便在運行階段配合開發者設定的各種層級。
《Mori 林間鼯語》演示
《Mori 林間鼯語》是一款 Arm 內部演示,通過一只在森林中四處奔跑與滑翔的西伯利亞飛鼠,展現最新 Arm Immortalis GPU 的性能與特性。這項計劃運用虛幻引擎 5.3 進行開發。游戲開始時飛鼠在樹洞里休息,而 Lumen 則模擬全局照明以渲染真實的光線與陰影變化。點擊開始之后,飛鼠會進入樹葉與地形細節豐富呈現的針葉林中,而玩家的目的則是尋找隱藏的寶藏。森林場景透過 Vulkan 著色器模型5 (Vulkan Shader Model 5),在移動設備上顯示出基于物理表現的渲染 (PBR) 材質與數百萬個三角形,而高質量的動態模糊則強化了圖形,達到游戲主機級別的品質。
這款游戲有四個級別的圖形質量可選:頂級、高級、中級與低級。游戲會根據選定的級別設定各種圖形參數,例如樹葉、視距、陰影、后期與紋理。以下的示意圖則顯示在每個設定下對應的視覺表現。
你可以觀察到在“頂級”設定中,有著顯而易見的景深效果。把設定降至“高級”時,右邊的灌木在細節程度有些調整。設成“中級”時,陰影會比較粗略,而屏幕的百分比也會引起鋸齒現象。“低級”的設定會導致光線、樹葉效果與清晰度大幅下降。整體來說,最好是把圖形質量設定保持在“中級”及以上,玩家方可充分享受游戲,且不犧牲視覺體驗。
在 vivo X90S 與 X100 手機上進行 30 分鐘的游戲測試期間,玩家并未調整圖形設定,全程以“頂級”質量體驗游戲。如同下圖所示,Headroom 快速累積,而幀率則大幅波動。手機在五分鐘后會過熱,并自動節制運行頻率,導致幀率下降。十分鐘之后,Headroom 累積至超過 90%,并引發另一波頻率與幀率下降。
圖:應用 ADPF 前的性能與設備狀態圖
擴展性方面的配置
在安裝并啟用 ADPF 后,游戲會根據預設的 Headroom 尺度切換圖形設定。在“頂級”設定中,陰影紋理的尺寸、距離尺度與質量都會設在最高值,后處理的屏幕百分比與光暈質量也一樣在最高等級。在“高級”與“中級”配置文件中,陰影紋理的尺寸會減半,質量會相繼降低,后處理的屏幕百分比則分別降至 80 與 60,光暈質量也會相應下降。“低級”則把一切設定都降至最低,此時陰影的最大分辨率變成 512,而距離尺度則會減半。后處理的屏幕百分比降為 50,光暈質量變成 1,至于其它所有參數則維持在虛幻引擎預設的設定值。
如下圖顯示,在自動調整圖形設定后,游戲的 Headroom 顯著地穩定下來,而 X100 與 X90S 手機分別維持每秒 60 與約 55 的幀數。經過更仔細地檢視后,我們發現游戲為了維持每秒幀數并管理發熱情況,會快速切換至最低級別的質量設定。盡管這能維持不錯的性能,但長期使用低質量的設定并不理想。
圖:應用 ADPF 后的性能與設備狀態圖
開發者在擴展性方面的更多嘗試
我們留意到當插件中的默認 Headroom 尺度值超出或降至閾值以下時,它會立即切換圖形設置。當圖形質量降低,并成功降溫后,圖形質量可能快速提升,而導致影像出現閃爍。因此,我們把切換邏輯移到游戲層旁邊的控制單元,讓尺度值變成可以調整,并確保升溫與降溫不會共享同樣的數值,以便使圖形質量降級有足夠的時間反應對溫度造成的影響。
除了上述提到的調整,開發者不僅可以修改 AndroidScalability.ini 文件中的參數,還可以在游戲層為圖形設定的切換增加回調。如此一來,我們可以通過調整如 foliage.MinLOD、剔除距離、最大繪制距離、每秒幀數鎖定等控制臺指令,允許額外的控制選項。
表:推薦的各圖形等級的高級設定
圖:Blueprint 中每個圖形等級的高級設定實例
如下圖顯示,有了更多詳細的控制選項來維持可見的視覺質量,圖形設定的降幅最大不會超過“中級”。性能與溫度也穩定下來,“頂級”設定的幀率固定在每秒 60 幀,“高級”設定的幀率固定在每秒 45 幀,而“中級”與更低設定的幀率則為每秒 30 幀。
圖:應用帶有額外配置的 ADPF 后的性能與設備狀態圖
總結
ADPF 讓開發者可以依據手機的情況精細調整并控制圖形質量,有效協助保持更佳的游戲體驗。它可以預防手機過熱,并應對耗電問題,確保整個游戲過程的視覺效果令人滿意,同時也不致于讓玩家的電池快速耗用完畢。啟用了 ADPF 后,我們從 vivo X90S 與 vivo X100 的最后電池放電曲線看到較為緩和的降幅,這代表能耗有所改善。我們建議開發者親身嘗試這個簡易且快速的整合流程,僅需少量時間就能顯著提升游戲質量。
-
ARM
+關注
關注
134文章
9054瀏覽量
366827 -
游戲
+關注
關注
2文章
738瀏覽量
26283 -
安卓
+關注
關注
5文章
2121瀏覽量
57027 -
電池
+關注
關注
84文章
10468瀏覽量
129019
原文標題:如何運用 ADPF 技術在手機上以更省電的方式享受卓越圖形效果?
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論