"\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8D7HmsBWr1\" img_width=\"1199\" img_height=\"499\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EAndroid 10\u003C\u002Fp\u003E\u003Cp\u003E從Android Q開始,谷歌爲Android操作系統引入了一個新的圖形API接口——ANGLE,我們在[Doc]Link=00008571[\u002FDoc]中已經簡單介紹了ANGLE的作用,不過還是留下一個懸念留着今天來首度解答,那就是ANGLE是否真的有用,或者說能不能用? \u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E什麼是ANGLE\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003EANGLE全名是Almost Native Graphics Layer Engine[近似本地圖形層引擎],是開源技術,它負責將OpenGL轉換爲其它3D引擎進行渲染。這並不是大家完全用不上的新奇或者非常稀罕技術,如果是Windows版Firefox或者各種Chrome親戚瀏覽器的用戶,ANGLE就是這些瀏覽器軟件的渲染層引擎,負責將這些瀏覽器代碼中原生的OpenGL圖形層轉換爲相對更高效的DirectX進行處理。如果這些瀏覽器在Windows平臺還以OpenGL模式運行,那麼到今天恐怕在性能和省電上也完全打不過IE6,尤其是英特爾處理器的核顯等低性能GPU,OpenGL性能完全就是史詩級災難。另外這類技術在一些國內常見的安卓模擬器[網易MuMu等]上也有使用,將Android系統的圖形底層從OpenGL轉換成Direct X運行以提高CPU的利用效率。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8DU7MIdeE0\" img_width=\"1200\" img_height=\"1239\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EFirefox瀏覽器LOGO\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8DkCuN1m9U\" img_width=\"1200\" img_height=\"977\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003E谷歌Chrome瀏覽器LOGO\u003C\u002Fp\u003E\u003Cp\u003E顯然,DirectX是不大可能出現在Android平臺上的,但在Android 10上推行ANGLE的目的也確實是爲了性能提升,將現有的OpenGL ES圖形層最終全部轉換到GPU利用效率更高的Vulcan[[Doc]Link=00006608[\u002FDoc]]上,谷歌認爲這樣可以解決不同硬件廠商自己開發OpenGL驅動的效率和性能差異。但對於現有的安卓應用來說,OpenGL仍是絕對的主流,而且很多舊手機或者舊版本Android並不支持Vulcan,僅有極個別的遊戲和應用支持,例如《王者榮耀》只有測試版支持Vulcan,因爲舊有設備和兼容性問題,是不能指望開發者直接全面使用Vulcan的,因此需要一箇中間層把OpenGL轉換成Vulcan進行正常顯示。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRW1sJ8H2oyYXYU\" img_width=\"989\" img_height=\"720\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003E目前ANGLE實現的功能進度\u003C\u002Fp\u003E\u003Cp\u003E從目前谷歌開發網站公示的進度來看,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等常見標準測試進行驗證。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E開啓ANGLE和性能測試\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRW1sImbB0jNFkK\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - ANGLE設置\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8Dy5Ouw6jJ\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - ANGLE設置\u003C\u002Fp\u003E\u003Cp\u003E目前Pixel 3下Android Q Beta沒有推送更新,版本號和我們在體驗文章中的版本相同,開啓ANGLE功能也比較簡單,只要在開發者相關選項中會列出可以切換圖形引擎的應用,選擇特定應用切換到ANGLE即可。由於ANGLE仍不支持OpenGL ES3.0以上版本,在3DMark中也將只有老一些的Ice Storm項目可用,另外使用高通的Vellamo進行HTML圖形部分測試。在測試中對着空調出風口以保證CPU不出現過熱降頻問題。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp9.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8EF6msg6DW\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - Vellamo測試\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy8zjDDxHfKu\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - 3D Mark測試\u003C\u002Fp\u003E\u003Ctable\u003E \u003Ctbody\u003E \u003Ctr\u003E \u003Ctd\u003E測試項目\u003C\u002Ftd\u003E\u003Ctd\u003EOpenGL\u003C\u002Ftd\u003E\u003Ctd\u003EANGLE\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003EIce Storm Unlimited\u003C\u002Ftd\u003E\u003Ctd\u003E61117\u003C\u002Ftd\u003E\u003Ctd\u003E38740\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003E物理測試\u003C\u002Ftd\u003E\u003Ctd\u003E109.80\u003C\u002Ftd\u003E\u003Ctd\u003E97.90\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003EIce Storm Extreme\u003C\u002Ftd\u003E\u003Ctd\u003E \u003C\u002Ftd\u003E\u003Ctd\u003E \u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003E物理測試\u003C\u002Ftd\u003E\u003Ctd\u003E60.50\u003C\u002Ftd\u003E\u003Ctd\u003E42.30\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003E幀率\u003C\u002Ftd\u003E\u003Ctd\u003E55-69\u003C\u002Ftd\u003E\u003Ctd\u003E27-62\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003EVellamo圖形\u003C\u002Ftd\u003E\u003Ctd\u003E4923\u003C\u002Ftd\u003E\u003Ctd\u003E4365\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003EPixel Blender\u003C\u002Ftd\u003E\u003Ctd\u003E493\u003C\u002Ftd\u003E\u003Ctd\u003E508\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003ECSS 3D Fish\u003C\u002Ftd\u003E\u003Ctd\u003E510\u003C\u002Ftd\u003E\u003Ctd\u003E396\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003Ctr\u003E \u003Ctd\u003EAquarium Canvas\u003C\u002Ftd\u003E\u003Ctd\u003E1138\u003C\u002Ftd\u003E\u003Ctd\u003E676\u003C\u002Ftd\u003E\u003C\u002Ftr\u003E\u003C\u002Ftbody\u003E\u003C\u002Ftable\u003E\u003Cimg src=\"http:\u002F\u002Fp9.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy9056nAZ4ox\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - 3D Mark測試\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy90PBwBJUdK\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - 3D Mark測試\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy90hJ3UMrc9\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - Vellamo測試[OpenGL]\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy9122ZTMFfX\" img_width=\"1080\" img_height=\"2160\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - Vellamo測試[ANGLE]\u003C\u002Fp\u003E\u003Cp\u003E由於是測試版系統加上開發中的新功能,那麼運行效果比較差並不會出人意料,Ice Storm這種比較老的OpenGL性能測試中ANGLE的得分只有原生OpenGL性能的約63%,對於Pixel 3上的驍龍845來說等於倒退了兩代的性能。Vellamo的HTML圖形測試落後得不多,但主要的WebGL的3D圖形性能上也是大約只有OpenGL的六成水平。不過單純性能下降倒不是致命問題,在激活ANGLE後,3D Mark無法正常輸出3D畫面,只能黑屏。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E總結\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy9oDD2vJRvF\" img_width=\"1200\" img_height=\"600\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - ANGLE模式無法正常輸出畫面\u003C\u002Fp\u003E\u003Cp\u003E雖然谷歌在技術上並不總是靠譜,不過ANGLE性能下降的原因可能並不是負優化或者功能不全所導致,在實際測試和遊戲時,可以明顯看到3D的畫面出現異常,比如拖影和屏幕不停地閃爍,這有可能是在測試版系統中ANGLE開啓了調試模式,在不停地往後臺和屏幕大量輸出調試或錯誤信息,在3D Mark只有黑屏被顯示了出來,而正常的3D遊戲則會出現畫面閃爍。\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy9ofGjIPGNe\" img_width=\"1200\" img_height=\"600\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - 遊戲運行[OpenGL]\u003C\u002Fp\u003E\u003Cimg src=\"http:\u002F\u002Fp1.pstatp.com\u002Flarge\u002Fpgc-image\u002FRXTy9ovEVtVeQO\" img_width=\"1200\" img_height=\"600\" alt=\"Android Q下ANGLE圖形引擎性能測試 「農步祥」\" inline=\"0\"\u003E\u003Cp\u003EGoogle 谷歌 Pixel 3智能手機 - Android Q - 遊戲運行[ANGLE]\u003C\u002Fp\u003E\u003Cp\u003E另外從實際遊戲運行中,可以明顯看出ANGLE模式下游戲畫面輸出的色彩也沒有OpenGL那麼鮮豔,這也是因爲ANGLE不支持ES3.0以上的畫面特效導致的,當然遊戲性能上也會明顯下降,例如《崩壞3rd》中開放場景地圖就從60幀降到40幀左右。在2D圖形相關的顯示和像素填充中,ANGLE和OpenGL的性能倒是沒有明顯區別。\u003C\u002Fp\u003E\u003Cp\u003E另外,Android Q中開發者選項還出現了一個遊戲引擎切換功能,在NEX S和Pixel 3中都有出現,但實際測試和使用來看差別幾乎沒有,谷歌和外文網站也沒有提供任何技術資料或說明,可能是未完成的功能或者沒有實現。\u003C\u002Fp\u003E\u003Cp\u003E雖然圖形驅動層並不是普通消費者需要了解的知識,但這部分對於用戶的使用體驗和手機的性能、續航還是密切相關的,如果圖形底層全面使用硬件效率更高的Vulcan,Android 10系統運行在低端硬件上的圖形界面和操作流暢性上還是會有一定的提升。ANGLE對於開發者來說也只是一個運行啓動時的轉換選項,仍可以通過OpenGL的代碼基礎進行開發,並不需要進行大規模的代碼遷移,便利性不言而喻,因此現在還不能對Android Q下ANGLE的藥效做結論,等到Android 10.0推出正式版後我們還將會進行一次補充測試。\u003C\u002Fp\u003E"'.slice(6, -6), groupId: '6718538310291063308
相關文章