行動裝置的熱潮持續不退,各大手機製造商除了絞盡腦汁推出外型酷炫的行動裝置設備來吸引消費者的目光之外,近幾年更在行動應用處理器晶片上玩起多核心的「核」戰爭,無非就是希望能夠帶給消費者更優異的效能及操作新體驗。然而,隨著消費者開始將以往依賴桌上型電腦的使用模式,陸續轉移到行動裝置設備上實現後,單一功能訴求已不再能滿足現今消費者的操作習慣,取而代之的是強調高畫質的影音娛樂以及聲光效果俱佳的3D大型遊戲。
行動GPU核心數增加 影響SoC元件大小
為了要因應龐大的高畫質影音播放以及複雜的遊戲圖像處理等需求,若想要單靠行動處理器晶片來完成所有使命,恐怕不只是讓行動處理器顯得氣喘如牛,其效果也將不盡理想。對此,行動裝置處理器晶片開發商開始將桌上型獨立顯卡概念動在行動顯示晶片 - GPU上,好讓行動裝置設備在執行高複雜度的遊戲圖像處理任務時,也能夠呈現出完美的畫質以及效能表現,尤其在這個講求行動處理器多核心的時代,行動GPU多核心同樣不落人後。
想讓行動GPU同樣與行動處理器晶片一樣擁有多核心,只需在SoC裡增加多核心功能IP,便可達到行動GPU多核心的設計目標,進一步讓行動GPU輕鬆獲得1TFLOPS以上的運算效能,因應子母畫面、3D內容顯示的繁重圖像解碼與運算需求。
然而,每個GPU核心還是會佔用一定程度的IC載版面積,現階段整合2~4核應用GPU並不會出現問題,但在超過4~8核或更多時,就會造成GPU核心的佔用面積過大,也使得SoC的體積變大,在行動裝置內部載板空間本來就相當吃緊的限制下,追加核心的設計方案必須重新思考。
行動GPU邁向獨立顯卡路維艱
桌上型獨立顯卡的優勢,在於能為遊戲處理帶來大量的紋理、材質、渲染、物理加速等功能。將類似的概念應用在行動裝置設備上當然很好,但這裡頭可是大有學問,首先,由於行動裝置設備所使用的GPU是與行動處理器晶片整合在同一個SoC裡,因此想要在有限的使用空間設計可說是一大挑戰。
其次是桌上型獨立顯卡的卡功耗動輒十多瓦以上,相較之下,由於行動GPU所能分配到的電力十分有限,加上上述效果都是大量使用記憶體頻寬的大食怪,對於還在「低功耗」議題上錙銖必較的行動裝置設備而言,仍然無法達到與桌上型獨立顯卡一樣,能夠滿足消費者顯示卡任意「自由配」的需求。
有量才敢大聲
此外,在硬體方面,Google Android陣營並非像Apple iOS陣營在硬體配置的差異性小,再加上沒有採用統一的平台設計標準,因而造成『Android碎片化』現象,故每間廠商仍是只能各自推出標榜高效能的行動GPU來搶攻市場份額,卻也間接造成遊戲開發商必須針對不同行動GPU開發出不同對應的版本,並且各個行動GPU所支援的紋理壓縮格式亦不相同。
即便執行同一款遊戲,在搭載不同行動GPU的行動裝置設備上所呈現的遊戲畫質、流暢度、畫面鋸齒度也大相逕庭,因此在這競爭白熱化行動GPU競賽裡,仰賴的不僅僅是高竿的技術,獲得高市佔率才等於贏得『有量才敢大聲』的入場券。
行動GPU 紋理壓縮格式大不同
目前在行動裝置設備(平板與智慧手機)裡常見的行動GPU分別由Imagination公司的Power VR系列(50.1%)、高通的Adreno系列(33%)分別拿下最高市佔率,其餘則是由NVIDIA的Geforce系列、ARM的Mali系列來蠶食這塊行動GPU大餅。
行動GPU的硬體規格除了是影響遊戲流暢度以及省電的重要因素之外,在軟體層方面,紋理壓縮格式以及渲染引擎亦是影響遊戲支援度高低的兩大重要功臣,由於行動GPU並不像個人電腦獨立顯示卡以及遊戲都有統一的DirectX標準,以致於不同行動GPU所支援的紋理壓縮格式技術互不相容,也造就了行動GPU多強鼎立的局面。
行動GPU主流的紋理壓縮格式分別為ETC、PVRTC、S3TC、ATITC,在3D遊戲中豐富的紋理和細節對遊戲的品質可說是相當重要。不過,由於顯示記憶體和頻寬受限的緣故,所有紋理都必須經過壓縮,否則會帶給顯示記憶體和頻寬莫大的壓力,而紋理壓縮格式便是用來解決這項問題。因此在OpenGL ES 2.0版本規範裡,將ETC(Ericsson Texture Compression)列為行動GPU紋理壓縮格式的固定班底,並且要求各個行動GPU都必須支援此種紋理壓縮格式技術。
不過,ETC並不支援Alpah通道,只能將單一紋理拆解成2個間接執行,因此不受遊戲開發商青睞,這也是為什麼同一款遊戲在iOS裝置與Android裝置所呈現的畫質會有所差異之處,畢竟遊戲開發商在iOS裝置只需針對單一行動GPU(iOS裝置慣用Imagination PowerVR系列行動GPU)去開發遊戲,但在Android端卻必須因應不同行動GPU而開發針對支援不同紋理壓縮格式的遊戲。
為了能夠讓行動GPU支援更多的紋理壓縮格式以及渲染技術,在新版的OpenGL ES 3.0帶來了開放的3D圖形API以及大量顯著的功能性和行動性增強,並同時向下相容現有的OpenGL ES 2.0。
OpenGL ES 3.0除了新增導入高品質的ETC2、EAC紋理壓縮格式,讓不同平台上不再需要不同的紋理集,更特別加入了先進材質壓縮格式(ASTC,Adaptive Scalable Texture Compression),能夠將調適壓縮比最佳化,進一步把單一像素壓縮至小於1bit~8bit,用來解決ETC紋理壓縮格式僅支援4bit格式的缺點。
ASTC原先是由ARM的Jorn Nystad及其他人員共同設計,後來被Khronos Group正式採納為OpenGL和OpenGL ES的正式擴展。ARM業務拓展總監Dennis Laudick表示:「ASTC能夠進一步降低記憶體頻寬和記憶體用量,讓行動裝置功率降低,並有效率完成影像壓縮作業。」,不過,唯一美中不足的是,ASTC先進材質壓縮格式技術並未強制所有行動GPU晶片必須全力支援,因此目前僅有ARM自家的Mali-T600系列獨家採用ASTC先進材質壓縮格式技術。
選對渲染引擎是關鍵
行動GPU在軟體層方面,除了採取導入更多的紋理壓縮格式方案之外,同時在效能部分也越來越朝向桌上型獨立顯卡效能靠攏,有越來越多行動GPU開始支援OpenCL Full Profile,讓行動GPU能夠耗費最少的頻寬以及功耗完成原有的工作。
|