在移动领域,传统API的硬件程序模型已不再很好匹配硬件,而且CPU往多核发展后,传统API不能有效利用多核优势。大家期望着替代品的出现,于是Mantle、DX12、Metal之类的新软件应运而生,而Khronos(The Khronos Group, 一个由领先硬件和软件公司组成的开源组织)则开发了Vulkan作为新的3D图形接口需求的解决方案。
CPU占用率
如同OpenGL,Vulkan针对实时3D程序(如电子游戏)设计,计划提供高性能和低CPU管理负担(overhead)。Vulkan是OpenGL与OpenGL ES的继任者,并且更加高效。ARM日前便公布了一段视频对比了Vulkan API 与OpenGL ES API 在CPU占用率及能效上优劣。
OpenGL ES的CPU占用率在不同情况下大约有20-50%,部分情况下甚至达到60%以上,而Vulan的CPU占用率就低太多了,绝大部分情况下都在5%,或者10%以内,相比OpenGL ES降幅明显,多线程支持非常给力。
能耗
另一方面,支持多核处理器也有助于降低能耗,视频中有具体的数值对比,同样的画面OpenGL ES消耗了1270J能量,Vulkan消耗的则是1123J,减少了15%,这对改善续航时间来说是相当大的变化,毕竟玩游戏的情况下手机处理器消耗电力还是非常快的。