Vulkan起源
Vulkan是作为一个跨平台的图形API设计的。以往许多图形API采用固定功能渲染管线设计,应用程序按照一定格式提交顶点数据,配置光照和着色选项。
随着显卡架构逐渐成熟,提供了越来越多的可编程功能,这些功能被集成到原有的API中。造成驱动程序要做的工作越来越复杂,应用程序开发者要处理的兼容性问题也越来越多。随着移动浪潮到来,人们对移动GPU的要求也越来越高,但以往的图形API不能够进行更加精准地控制来提升效率,对多线程的支持也非常不足,导致没有发挥出图形硬件真正的潜力。
由于没有历史包袱,Vulkan完全按照现代图形架构设计,提供了更加详细的API给开发者,大大减少了驱动程序的开销,允许多个线程并行创建和提交指令,使用标准化的着色器字节码,将图形和计算功能进行统一。