iOS 手遊更順暢的原因:蘋果自行訂製了 GPU 架構

作者 | 發布日期 2016 年 11 月 11 日 15:40 | 分類 3C , Apple follow us in feedly

蘋果最早是在 iPhone 5 的時候,第一次不再購買 ARM 的公版架構,轉而以 ARM 的指令集為基礎自主設計 CPU。而兩年後到了 iPhone 6,蘋果則轉了一個方向,首次自主參與 GPU 的訂製,相關的工作同時也延續到後來的 iPhone 6s,以及 iPhone 7 的 A10 Fusion。



GPU 的組成

蘋果原先是與 Imagination Technologies 合作,直接以這間公司授權的 PowerVR 來負責自家 SoC 中 GPU 的運作。實際上蘋果與 Imagination Technologies 也有持股關係,具有 10% 的股份,以及 30% 的營收分配,不過從 iPhone 6 開始,蘋果轉而以 PowerVR 為基礎來客製化自己的 GPU,讓 Imagination Technologies 與蘋果的關係變得甚至不太像 ARM,而是以自己的團隊打造獨立架構。

一般來說,GPU 具有三種主要部份,首先是固定功能(fixed-function)的圖像處理硬體,負責 API、三維柵格化(rasterization)與柵格輸出,換言之,用來把圖像轉譯成向量圖形,再輸出成像素,好形成人們看得到的影像。

第二個部份則是著色器內核(shader core),也是 GPU 的心臟。著色器的用途是透過一組程式碼指令,來控制影像的顏色、明暗、特殊效果、幾合構造,換言之,就是用來生成影像的重心。

至於最後一部份則是位於 CPU 上的圖像驅動程式(driver),透過運作各種以 Open GL 與 Metal API 寫成的圖像 App,把它們轉譯成特定的指令,好讓前述的兩個部份可以協同執行。因此,CPU 上的 driver 有一大部份,都是編譯器(Compiler),好進一步讓著色器懂得該如何處理影像。

蘋果自訂了自己的 GPU 著色器與編譯器

根據蘋果的一些文件透露出來的資料,在 iPhone 6 之前,蘋果在 GPU 核心的三個部份,都是全部交給 Imagination Technologies 包辦,不過從 iPhone 6 的 A8 處理器開始,核心的著色器就幾乎已經由蘋果自己客製化包辦。目前蘋果 GPU 設計還有明顯 Imagination Technologies PowerVR 痕跡的,只剩下一部份的圖像硬體 。蘋果甚至寫出了專利的編譯器與圖像驅動程式。

實際上,蘋果的成績是很明顯的,例如在經歷兩代、來到 iPhone 7 後,A10 的繪圖能力已經比當初提升了 3 倍。客製化的 GPU 除了性能與省電,也幫助蘋果可以進一步對 Open GL 與 Metal 優化。這一項優勢最為明顯的,是讓手遊開發者有更多工具來針蘋果的 GPU 架構做最佳化,使得 iOS 裝置擁有較 Android 更好的遊戲順暢度。在今年的 WWDC 上,蘋果也首次在開發者文件,寫下史上最詳盡的說明,並推出全新的 Metal 著色器方法。

至於蘋果想這麼做的理由也不難想像。首先,蘋果的 GPU 其實做得比 Imagination Technologies 更好。它的 SoC 整體性能,目前在業界也有明顯的領先。此外,自訂 GPU,也可以幫助蘋果更好地配合 iPhone 一年一更的週期,既能自訂一些特殊的功能,例如 Metal 優化,處理 Bug 時,也不會因為是使用公版,因而讓 Imagination Technologies 的其他手機客戶也能得利。

在短期之內,蘋果應該仍會維持目前的手法,自行設計 GPU 著色器與其他軟體,但可能會持續帶給 Imagination Technologies 更多壓力,好爭取更好的硬體授權報價。而顯然地,蘋果之所以如此著重 A 系列 SoC 的 CPU、GPU 性能,甚至超過目前手遊市場的普遍需求,來到部份低階筆電的等級,應該正是為了讓 iPhone 能盡快成為蘋果的 VR 平台。

(首圖來源:蘋果) 

關鍵字: , , , , ,

發表迴響