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