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