自1992年問世以來(lái),OpenGL已經成為(wèi)了(le)PC遊戲迄今為(wèi)止最常用的圖形API之一(yī)。作(zuò)為(wèi)一(yī)種多語言、跨平台的應用程序編程接口,它已經被廣泛用于GPU的交互和硬件加速。
使用至今,人(rén)們當然也(yě)發現(xiàn)了(le)它的缺點。因為(wèi)源代碼是90年代的産物,對于目前在市(shì)面上(shàng)大行其道的多核CPU(GPU)利用效率不佳,往往隻能(néng)提供有限的單線程負載,所以幀率、能(néng)耗都難取得突破。
作(zuò)為(wèi)OpenGL官方組織,Khronos已推出了(le)新(xīn)一(yī)代API規範Vulkan(昵稱“火(huǒ)山”或者“福爾康”),同樣采用跨平台設計,但(dàn)最重要的貢獻是大幅降低(dī)繪制命令開銷(draw call overhead),改善多線程性能(néng),渲染性能(néng)更快(kuài),背後的理(lǐ)念和DX12和Mantle都是一(yī)緻的。
另外,Vulkan還會統一(yī)桌面的OpenGL和移動平台的OpenGL ES,而且谷歌(gē)已經明确了(le)Android将會支持Vulkan。
Intel也(yě)放(fàng)出了(le)在SIGGRAPH 2015圖形大會上(shàng)的星塵渲染演示視(shì)頻,可以清楚地看出來(lái),Vulkan在改善功耗、多核優化(huà)提升繪圖調用上(shàng)之于前輩OpenGL有着非常明顯的優勢。
測試過程也(yě)很簡單,使用大名鼎鼎的圖形測試工具GFXBench 5.0,手動将測試API從原來(lái)的OpenGL改成Vulkan。
當然,這(zhè)隻是一(yī)個(gè)原型演示,像Valve、Intel還都在緊張地開發完善之中。而且,《DOTA2》也(yě)已經計劃移植到Vulkan。
此外,筆者還記得,遊戲《魔能(néng)2》的開發商(shāng)Pieces Interactive在接受采訪時(shí)就(jiù)談到,試用了(le)Vulkan之後,他們的印象是比DX12還要優秀(蘋果的Metal就(jiù)已經四倍完爆OpenGL ES)。
不得不感歎一(yī)句,AMD的Mantle這(zhè)一(yī)次又做了(le)“犧牲自己、成人(rén)之美”的事(shì)情。