在剛剛過去的Unite北京年度盛會上,安謀科技中國(Arm China)有幸能與廣大開發者一起管窺最新的圖形技術,并現場把玩趣味橫生的XR技術演示,共有300多位熱心觀眾親臨了我們的技術專場,加上不計其數的展臺訪客 ,不僅帶來了超越預期的人氣,也留下了許多寶貴見解。
近些年來,中國的移動游戲市場,史無前例地高速發展,在這里,我們看到一個又一個奇跡地誕生,而其中多半,都離不開Unity引擎和它背后充滿活力的開發者社區,每年的Unite的大會,更是一個真正的焦點時刻,將五湖四海的業界豪杰,聚于一堂,碰撞出技術和商務的火花。Arm也都非常有幸,在過去的這么多年里,能同Unity一起不斷見證并助力于移動游戲產業的茁壯成長。
時至今日,從市場規模和用戶數量來看,移動游戲已遠超包括PC和主機平臺在內的任何其他游戲形式,而在此其中,具備高度擬真圖形效果的游戲,慢慢憑借著自己的品質優勢脫引而出。
在亞太地區,大約90%以上的移動設備都是采用Arm架構,并且其中大多數又同時配備了Arm的Mali GPU,輔以Arm出色的硬件基礎,調試工具,以及開發技巧,絢麗的圖像效果不再只是高端機型的專利,開發者可以把自己卓越的創意,毫無障礙地帶給幾乎所有的玩家,從而獲得過去難以想象的成功機會。
主流(中端)移動平臺上的極速后處理特效
仔細觀察,不難發現,上面4幅實時渲染畫面在視覺效果上的差異,上排兩張是沒有加入Bloom效果的原始畫面,人物盔甲以及地面金屬材質的表現力差強人意,而下面兩幅經過優化的畫面,不僅在關鍵元素上光芒四射,而且還能在絕大多數移動平臺上穩定運行于60 FPS高幀率之下。
這幾張畫面截取自Arm重要的游戲生態戰略合作伙伴: Nordeus開發的3A級移動大作Spellsouls(目前還在內測階段,尚無正式的中文名,坊間有愛好者稱之為 “魔法戰魂” )。Nordeus是一家來自塞爾維亞首都貝爾格萊德的獨立游戲工作室,而Spellsouls是其代表性的作品之一,在近年來的GDC和UNITE大會上,他們都不時與開發者無私分享自己的寶貴經驗。
Nordeus與Arm常年保持在移動游戲優化方面,深入而緊密的協作,我們也期望在中國孵化更多這樣的生態合作典范。
定制化Forward+渲染路徑:
為了能在最多的設備上,以最高渲染質量,流暢運行于60幀,Nordeus在Spellsouls里創新性地使用了Forward+的渲染方式,從而最大地發揮移動GPU的Tiled Based架構優勢(而Mali GPU就是典型的TB架構)。出于眾所周知的原因,將PC和主機平臺上成熟高效的Deferred Rendering技術直接應用于移動平臺,仍然是不太現實的選項,而傳統的Forward渲染也存在著一定局限性,其運算復雜度會隨著光源數量與場景復雜度,急速上升而幾乎無法處理4個甚至更少的動態光源。
而在這個游戲里,暗黑真實系的基調,以及大量高反射材質急需出色的光照效果來烘托氣氛,幸運的是開發者能開拓性地實現Forward+渲染路徑,輔以合適的光源屬性,數量,與范圍設置,從而圓滿解決了這個大問題。
關于Forward+在移動端的實現,特性,實現技巧,Arm正計劃在不久的將來,推出一系列的深入的主題,結合生動的實例加以探討,敬請各位期待。
效果和性能間的精妙平衡
現場的聽眾一定還記得,整個演講是以一種倒敘的手法,把整個游戲的優化過程娓娓道來,在此我們就不再賣關子了。
在整個游戲的性能優化過程中, 選擇合適的貼圖分辨率,包括地形,光照貼圖等,雖然都是些不大起眼,也不高深的舉措,卻也收效顯著,為整體的FPS提升出力不少,即使在打開了PBR的前提之下,仍能讓開發者在最終階段,有足夠的渲染算力預算,用于能做到很高效但也不會完全免費的后處理上。
這里需要特別指出的是,很多開發者可能誤認為,PBR就是高端旗艦平臺的專屬,殊不知只要實現得當,千元機也一樣可以有。
高度優化的Blur實現方法
Spellsouls采用了上圖可比標準高斯模糊提速14倍的超高效Blur方法,由Arm在2015年發表。簡單來說這個技巧就是,通過先期不斷縮小目標圖像,后期再次放大,并與此同時交替進行水平或垂直方向的快速像素混合操作,來大大減少整體所需的像素操作運算量,性能比起經典算法有了質的提升。
歡迎大家讀過之后,也能在自己的項目里大膽采用,有任何問題或發現都請隨時與我們取得聯系!(Nathan.Li@arm.com)
靈活使用預烘培與廣告牌
// Vertex shader
floatlightObjCameraAlignment = dot(objToCam, reftLightDir);
halfalignmentFactor = clamp(lightObjCameraAlignment, 0.0, 1.0);
// Fragment shader
halfbloom = rawGlossMap.a;
finalColor += finalColor * bloom * i.alignmentFactor * _BloomStrength;
在Spellsouls里,采用了在游戲制作階段,就把Bloom map相關的信息提前生成并巧妙地存儲于相應紋理的Alpha通道里,在游戲運行的時刻,把混合后的像素貼在一個永遠朝向攝像頭,并懸浮于角色與視窗之間的公告牌上,用上面兩個簡潔高效的shader就做出了栩栩如生的高光效果,多么巧妙!這樣做,可以既避免角色高光效果被輪廓線所局限的問題,又保證整個處理過程只要不到1毫秒!
移動游戲優化的思路與相關工具
關于效率與效益的思考
長話短說,無數的項目已經證明,如果要想收獲最大的效益,那么我們在一開始跳入細節之前,應該最大限度從更高的層面上,整體把握好優化的重點與方向,切不可做舍本逐末的虧本生意,避免把寶貴的時間與精力,過早過多地耗費于一些旁支細節的改善之上,如上圖所示請向左看。在Spellsouls這個游戲項目里,基礎渲染優化后花了約16毫秒,加上超高速的后處理(<1毫秒),最后能穩定運行在60幀。
Arm的開發者工具套件
上圖是Arm的(主要)開發者工具全家福與我們推薦給的大家的使用順序圖,原則上講我們通常都是先通過DS-5 Streamline來確定性能瓶頸所在,然后用Mali Graphics Debugger來分析應用的行為,在最后的細節優化階段,用Mali Offline Compiler來一步步提高Shader效率。
DS-5 Streamline本身有完全免費的Community社區版供下載使用,同時對于希望深耕的開發者,專業版的購買請直接與我們聯系。Streamline社區版在GPU分析方面可以說和專業版(可免費試用3個月)無二,只是對于一部分CPU的HW Counter(硬件計數器)有所限制。而Mali Graphics Debugger(MGD)本身就是一款免費的工具,只有Trace/Replay(錄制回放)等個別高級功能需要DS-5專業版授權來解鎖。
值得一提的是,MGD目前已經可以在絕大多數設備上,直接運行而無需root,當然前提是開發者擁有項目源代碼,并在對應的引擎(Unity和Unreal Engine)里打開相應調試選項重新構建后才能使用,如果需要調試沒有代碼的應用APK,還是需要使用root過的設備噢。而DS-5Streamline過去是需要root并且重新編譯設備的內核代碼,才能做有效分析的,這一限制會在不久的將來,在更多設備上被解除,從而極大地方便開發者,細節請與我們溝通。
-
ARM
+關注
關注
134文章
9207瀏覽量
371069 -
圖形
+關注
關注
0文章
71瀏覽量
19415 -
移動平臺
+關注
關注
0文章
93瀏覽量
11704
原文標題:圖形技術深度談——在主流移動平臺上揮別后處理特效的煩惱
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
ARM推全新IP組合,鎖定中端主流移動終端市場

在Multisim的仿真分析中后處理器應該如何使用?
視頻監控系統圖像處理技術應用解析
具有專利的運動精確圖像視頻后處理器
如何使用PVRTexTool提升移動端圖形的效果
如何實現嵌入式平臺與深度學習的智能氣象監測儀器的設計
分享一種在Rockchip平臺上生成圖形的方法
Unity開發者Arm指南-特效圖形技術介紹
解析PCB電鍍后處理的12類處理方法工藝
使用Python的焊接后處理的詳細說明

如何使用PVRTexTool提升移動端圖形效果

Mastercam后處理機器定義說明

評論