很多人在剛聽到底層圖形API的時候似乎都不怎么激動,但是蘋果已經在去年的iOS 8上推出了Metal,并計劃于今秋將之推送至Mac OS X EI Capitan。此外,剛剛發布的Windows 10系統中也包括了DirectX 12,Windows Phone則會在今年晚些時候迎來更新。而今天,Google也宣布了Android將支持Vulkan的消息。
致力于開放標準的Khronos Group是由其成員提供基金支持的行業協會,除了OpenGL和OpenGL ES之外,Vulkan是繼兩者之后的最新底層API。
與其它API相比,Vulkan承諾會提供對GPU更直接的訪問以改善性能,因此開發者將能夠自行管理內存和多線程,而不是將此類決策交給驅動——在讓他們做得更多的同時,也極大地提升了靈活性。
它與OpenGL相比的不同點在于可用于任何人,并且理論上可被附加到任何主流操作系統上。當然,與Metal和DirectX 12一樣,Vulkan需要操作系統和硬件的雙重支持。
Vulkan目前已兼容支持OpenGL ES3.1的任何GPU——包括高通的Adreno 400系列、Imagination Technologies的PowerVR 6系及新型號、Nvidia Tegra K1及新型號、以及ARM的600 / 700 / 800系列Mali GPU——幾乎涵蓋了2014年年底發布至今的所有高端手機/平板產品。
Vulkan API將在今年晚些時候才會最終敲定,Google的帖子未提到Android M是否會加入對它的支持,所以我們有可能要等到一個大版本。盡管有些變動可通過Play商店或Google Play服務升級,但依照歷史來看,新的API總是需要一個新的Android版本來嘗鮮的。
最后,Google表示會在引入Vulkan后繼續支持OpenGL ES,所以開發者仍然能夠愉快地使用老款API來工作。
Khronos Group剛剛宣布了OpenGL ES的3.0版本,而在Android 5.0中加入的OpenGL ES Android擴展包則包括了如下功能:
幾何形狀與鑲嵌著色器,GPU可有效處理復雜場景;
可對渲染目標執行更高精度的浮點運算操作,并提升了靈活性;
ASTC壓縮技術可減少紋理運算時的內存占用和帶寬需求;
增強混合與復雜合成,可處理多種顏色的附件;
高級紋理質感,如緩存、多種2D和立方貼圖陣列;
調試更簡單、代碼開發更健壯、安全執行。
最后,Khronos Group表示,OpenGL ES 3.2兼容性擴展“使得人們可以通過桌面OpenGL來開發移動應用程序”。隨著移動GPU的日益進步,OpenGL和移動端OpenGL ES標準已經變得更加緊密,這最終可讓桌面項目移植到移動設備上變得更加簡單。