Vulkan
跨平台的绘图应用程序接口
Vulkan是一个跨平台的二维、3D软件与计算的应用程式接口(API),最早由科纳斯组织在2015年游戏开发者大会(GDC)上发表。与OpenGL类似,Vulkan针对全平台即时3D图形程式(如电子游戏和交互媒体)而设计,并提供高效能与更均衡的CPU与GPU占用,这也是Direct3D 12和AMD的Mantle的目标。Vulkan是一个底层API,能执行并行任务,能更好地分配多个CPU核心的使用。Vulkan兼容Mantle的一个分支,并使用了Mantle的一些组件。Vulkan旨在提供更低的CPU开销与更直接的GPU控制,其理念大致与Direct3D12和Mantle类似。Vulkan是一个开放标准,旨在提供更高的性能和更高效的CPU和GPU使用,相比于旧版的OpenGLDirect3D 11 API,Vulkan提供了更低级别的API,更接近现代GPU的工作方式。Vulkan是由非营利性组织Khronos Group在GDC 2015上首次宣布的,最初被称为“下一代OpenGL行动”或“glNext”,但在正式宣布Vulkan之后这些名字就没有再使用了。Vulkan是基于AMD的Mantle API构建的,AMD将其Mantle API捐赠给Khronos Group,为其开发底层API提供了基础,使其成为行业标准。
特性
OpenGL已经发展了25年以上,并不断满足行业需求,但是现已经逐渐满足不了行业的需要。
GPU的可编程性越来越强,越来越多的平台开始支持加速图形,计算,视觉和深度学习。灵活性和可移植性变得很重要。
Vulcanlogo
性能上,OpenGL也不能充分发挥现代CPU多核多线程的性能优势。
为了解决上述问题,行业对新一代GPUAPI的提出了更高的要求:
以下是Vulkan相对于上一代API的优势:
英伟达指出,由于OpenGL的复杂度和维护难度比Vulkan低很多,在多数情况下也能提供理想的整体性能,现阶段OpenGL仍是个很好的选择。AMD表示,Vulkan支持Close-To-Metal控制的独特能力可加快跨Windows和Linux的性能并且提高影像质量。现今无其他图形API提供如此强大的操作系统兼容性、成像功能和硬件效率组合。例如,CPU中包含的集成GPU可与高端专用GPU结合使用,以略微提高性能。
Vulkan1.1
科纳斯在SIGGRAPH2016上宣布Vulkan将支持自动多GPU功能,类似于Direct3D12所提供的功能,显示驱动程序不再需要处理多个GPU的使用,相反,两个或更多完全不同的GPU之间可以智能地分配工作负载。
科纳斯于2018年3月7日发布了Vulkan1.1。它扩展了几个核心功能,包括子集操作,例如多视图、设备组、高级渲染和编辑操作程序跨流程API交互操作。这些核心功能还包括16位内存获取高级计算,HLSL内存分布支持,视频流的显示,处理和编程,通过许多视频编辑解码器生成的YCbcRr颜色格式化纹理的直接抽样。同时,它还带来了与DirectX 12的更好兼容性,显式支持多GPU,光线跟踪支持,为下一代GPU奠定了基础。
vulkan1.2
2020年1月15日,科纳斯组织发布了Vulkan1.2,将23个已经通过验证的扩展集成到基本Vulkan标准中,大部分用来帮助提升Vulkan与其他图形API之间的兼容层性能。
计划中的功能
科纳斯在SIGGRAPH2016上宣布,Vulkan将提供类似于Direct3D12的多卡互联功能。通过Vulkan,不同型号的显卡也能协同工作,而无需NVIDIASLI或AMDCrossfire的支持。Vulkan多卡互联功能允许API在多个不同的显卡之间智能分配负载,例如,CPU上的集成显卡与高端独立显卡协同工作,能够略微提升显示性能。
在OpenCL2.2规范发布时,科纳斯宣布OpenCL将在未来融入Vulkan。
独特的跨OS支持
Vulkan™能够支持深入硬件底层的控制,为Windows®7、Windows®8.1、Windows®10和Linux®带来更快的性能和更高的影像质量。Vulkan™API还提供超高的OS兼容性、渲染特性和硬件效率。
自动兼容GCN架构
只有基于GCN架构的Radeon™显卡拥有强大的“异步计算”功能,使显卡得以并行处理3D几何图形与计算工作量。例如,当游戏需要同时计算复杂照明与渲染人物时,这种功能就找到了用武之地。这些任务并不需要在Radeon™显卡上串行运行,因此可以节约时间、提升整体帧速率。设计Vulkan应用的游戏开发者可以在所有近期版本的Windows和Linux系统中利用这种独特硬件特性。
兼容组件
AMDRadeonSoftwareCrimson版16.3及更新版本在Windows®7、Window®8.1、Windows®10和Linux®中支持基于次世代图形核心架构的以下AMDAPU和Radeon™显卡:
AMDRadeon™R9系列显卡
AMDRadeon™R7系列显卡
AMDRadeon™R5240显卡
AMDRadeon™HD8000系列OEM系统显卡(HD8570及更高级别)
AMDRadeon™HD8000M系列笔记本显卡
AMDRadeon™HD7000系列显卡(HD7730及更高级别)
AMDRadeon™HD7000M系列笔记本显卡(HD7730M及更高级别)
AMDA4/A6/A8/A10-7000系列APU
AMDA6/A8/A10PRO-7000系列APU
AMDA6/A8/A10 Fusion/FX™8000系列APU
AMDE1/A4/A10Micro-6000系列APU
AMDE1/E2/A4/A6/A8-6000系列APU
AMDA4-1200、A4-1300和A6-1400系列APU
AMDE1-2000、E2-3000、A4-5000、A6-5000和A4Pro-3000系列APU
自Android7.0开发者预览版开始,谷歌便在系统平台中添加了对Vulkan的API支持。
参考资料
目录
概述
特性
兼容组件
参考资料