Android Q下ANGLE圖形引擎性能測試農步祥
從Android Q開始,谷歌為Android操作系統引入了一個新的圖形API介面——ANGLE,我們在[Doc]Link=00008571[/Doc]中已經簡單介紹了ANGLE的作用,不過還是留下一個懸念留著今天來首度解答,那就是ANGLE是否真的有用,或者說到底能不能用?
什麼是ANGLE
ANGLE全名是Almost Native Graphics Layer Engine[近似本地圖形層引擎],是開源技術,它負責將OpenGL轉換為其它3D引擎進行渲染。這並不是大家完全用不上的新奇或者非常稀罕技術,如果是Windows版Firefox或者各種Chrome親戚瀏覽器的用戶,ANGLE就是這些瀏覽器軟體的渲染層引擎,負責將這些瀏覽器代碼中原生的OpenGL圖形層轉換為相對更高效的DirectX進行處理。如果這些瀏覽器在Windows平台還以OpenGL模式運行,那麼到今天恐怕在性能和省電上也完全打不過IE6,尤其是英特爾處理器的核顯等低性能GPU,OpenGL性能完全就是史詩級災難。另外這類技術在一些國內常見的安卓模擬器[網易MuMu等]上也有使用,將Android系統的圖形底層從OpenGL轉換成Direct X運行以提高CPU的利用效率。
顯然,DirectX是不大可能出現在Android平台上的,但在Android 10上推行ANGLE的目的也確實是為了性能提升,將現有的OpenGL ES圖形層最終全部轉換到GPU利用效率更高的Vulcan[[Doc]Link=00006608[/Doc]]上,谷歌認為這樣可以解決不同硬體廠商自己開發OpenGL驅動的效率和性能差異。但對於現有的安卓應用來說,OpenGL仍是絕對的主流,而且很多舊手機或者舊版本Android並不支持Vulcan,僅有極個別的遊戲和應用支持,例如《王者榮耀》只有測試版支持Vulcan,因為舊有設備和兼容性問題,是不能指望開發者直接全面使用Vulcan的,因此需要一個中間層把OpenGL轉換成Vulcan進行正常顯示。
從目前谷歌開發網站公示的進度來看,Windows版的ANGLE技術最為完整,從Direct X 9、11到OpenGL ES和Vulcan的中間層實現,畢竟Chrome和ChromeOS才是親兒子。但不太樂觀的是在以Vulcan為底層渲染器時,OpenGL部分只實現了OpenGL ES2.0版本,如果是熟悉Android遊戲的開發者或者專業用戶都清楚,目前遊戲開發底層最起碼也是ES 3.0級別了,只有高版本才有比較完整的畫面渲染功能,對應到DirectX中就和DX9和DX11的差別類似。好在3Dmark等跑分應用還是保留了ES2.0模式的,另外不少遊戲也支持向下兼容,只是畫質會變差,因此ANGLE的性能仍可以通過3D、HTML等常見標準測試進行驗證。
開啟ANGLE和性能測試
目前Pixel 3下Android Q Beta沒有推送更新,版本號和我們在體驗文章中的版本相同,開啟ANGLE功能也比較簡單,只要在開發者相關選項中會列出可以切換圖形引擎的應用,選擇特定應用切換到ANGLE即可。由於ANGLE仍不支持OpenGL ES3.0以上版本,在3DMark中也將只有老一些的Ice Storm項目可用,另外使用高通的Vellamo進行HTML圖形部分測試。在測試中對著空調出風口以保證CPU不出現過熱降頻問題。
由於是測試版系統加上開發中的新功能,那麼運行效果比較差並不會出人意料,Ice Storm這種比較老的OpenGL性能測試中ANGLE的得分只有原生OpenGL性能的約63%,對於Pixel 3上的驍龍845來說等於倒退了兩代的性能。Vellamo的HTML圖形測試落後得不多,但主要的WebGL的3D圖形性能上也是大約只有OpenGL的六成水平。不過單純性能下降倒不是致命問題,在激活ANGLE後,3D Mark無法正常輸出3D畫面,只能黑屏。
總結
雖然谷歌在技術上並不總是靠譜,不過ANGLE性能下降的原因可能並不是負優化或者功能不全所導致,在實際測試和遊戲時,可以明顯看到3D的畫面出現異常,比如拖影和屏幕不停地閃爍,這有可能是在測試版系統中ANGLE開啟了調試模式,在不停地往後台和屏幕大量輸出調試或錯誤信息,在3D Mark只有黑屏被顯示了出來,而正常的3D遊戲則會出現畫面閃爍。
另外從實際遊戲運行中,可以明顯看出ANGLE模式下遊戲畫面輸出的色彩也沒有OpenGL那麼鮮艷,這也是因為ANGLE不支持ES3.0以上的畫面特效導致的,當然遊戲性能上也會明顯下降,例如《崩壞3rd》中開放場景地圖就從60幀降到40幀左右。在2D圖形相關的顯示和像素填充中,ANGLE和OpenGL的性能倒是沒有明顯區別。
另外,Android Q中開發者選項還出現了一個遊戲引擎切換功能,在NEX S和Pixel 3中都有出現,但實際測試和使用來看差別幾乎沒有,谷歌和外文網站也沒有提供任何技術資料或說明,可能是未完成的功能或者沒有實現。
雖然圖形驅動層並不是普通消費者需要了解的知識,但這部分對於用戶的使用體驗和手機的性能、續航還是密切相關的,如果圖形底層全面使用硬體效率更高的Vulcan,Android 10系統運行在低端硬體上的圖形界面和操作流暢性上還是會有一定的提升。ANGLE對於開發者來說也只是一個運行啟動時的轉換選項,仍可以通過OpenGL的代碼基礎進行開發,並不需要進行大規模的代碼遷移,便利性不言而喻,因此現在還不能對Android Q下ANGLE的藥效做結論,等到Android 10.0推出正式版後我們還將會進行一次補充測試。


※音箱耳機入門 藍牙真無線耳機中的LDS天線Soomal
※OPPO Reno智能手機音質測評報告Soomal
TAG:Soomal數碼多媒體 |