自1992年问世以来,OpenGL已经成为了PC游戏迄今为止最常用的图形API之一。作为一种多语言、跨平台的应用程序编程接口,它已经被广泛用于GPU的交互和硬件加速。
使用至今,人们当然也发现了它的缺点。因为源代码是90年代的产物,对于目前在市面上大行其道的多核CPU(GPU)利用效率不佳,往往只能提供有限的单线程负载,所以帧率、能耗都难取得突破。
作为OpenGL官方组织,Khronos在今年三月份推出了新一代API规范Vulkan(昵称“火山”或者“福尔康”),同样采用跨平台设计,但最重要的贡献是大幅降低绘制命令开销(draw call overhead),改善多线程性能,渲染性能更快,背后的理念和DX12和Mantle都是一致的。
另外,Vulkan还会统一桌面的OpenGL和移动平台的OpenGL ES,而且谷歌已经明确了Android将会支持Vulkan。
近日,Intel也放出了在SIGGRAPH 2015图形大会上的星尘渲染演示视频,可以清楚地看出来,Vulkan在改善功耗、多核优化提升绘图调用上之于前辈OpenGL有着非常明显的优势。
测试过程也很简单,使用大名鼎鼎的图形测试工具GFXBench 5.0,手动将测试API从原来的OpenGL改成Vulkan。
当然,这只是一个原型演示,像Valve、Intel还都在紧张地开发完善之中。而且,《DOTA2》也已经计划移植到Vulkan。
此外,笔者还记得,游戏《魔能2》的开发商Pieces Interactive在接受采访时就谈到,试用了Vulkan之后,他们的印象是比DX12还要优秀(苹果的Metal就已经四倍完爆OpenGL ES)。
不得不感叹一句,AMD的Mantle这一次又做了“牺牲自己、成人之美”的事情。