- Vulkan 是一个开源的跨平台 API,可最大限度地提高游戏和 3D 应用程序中的图形性能。
- 实现兼容性 Windows支持 Linux、Android、Switch 等平台,克服了 DirectX 和 Metal 的局限性。
- 它具有更低的 CPU 功耗、多核处理和高级 GPU 控制功能,并得到主要制造商的支持。
- 它已成为现代视频游戏和渲染引擎开发中的标准,并将随着移动光线追踪和云游戏的进步而发展壮大。
你是否曾经好奇过 Vulkan 究竟是什么,以及为什么它最近在视频游戏、图形应用程序甚至智能手机领域引起了如此大的轰动? 如果您听说过这个名字,但不确定它扮演什么角色,或者它是否真的能让您作为用户或开发者受益,我们将在此为您解惑。我们将用清晰易懂的语言解释您需要了解的一切,帮助您理解这项技术的工作原理,它为何能彻底改变图形性能以及处理器和显卡之间的通信,以及它在哪些方面能够提升用户和专业人士的体验。
如今,DirectX、OpenGL、Metal 和 Vulkan 之间的争论比以往任何时候都更加激烈,因为它们各自在不同的系统和设备上捍卫着自己的领地。Vulkan 尤其因其跨平台、开源和卓越的效率而备受瞩目。如果您想了解它的由来、相比前代技术有哪些优势、主要厂商的反应以及哪些游戏和应用程序已经在使用它,本文将汇总所有已发布的资料,并提供详尽的背景信息,助您全面了解 Vulkan。
Vulkan是什么?它有什么用途?
Vulkan 是一个用于 3D 图形和计算的应用程序编程接口 (API),旨在最大限度地提高视频游戏、3D 渲染程序、模拟应用程序以及其他对图形效率和多核处理器使用要求极高的领域的硬件性能。 与其他 API(例如 DirectX 或 OpenGL)的主要区别在于 Vulkan 是跨平台的——它可以在……上运行。 WindowsLinux、Android、Nintendo Switch 等平台——此外,它还是开源的。 这为家庭用户和开发者开辟了广阔的可能性,他们可以更轻松地将自己的作品移植到更多设备上,而无需支付许可证费用。
Vulkan 诞生于 2016 年,尽管它作为 OpenGL 的自然演进,其雏形出现得更早。其发展由……引领 Khronos集团Vulkan是一个非营利性联盟,成员包括AMD、NVIDIA、Google、Intel和Valve等行业巨头。Vulkan部分基于Mantle,Mantle是AMD发布的一种API,旨在实现3D图形标准的现代化和开放化。
为什么像 Vulkan 这样的 API 很重要?
图形 API 充当软件(游戏或应用程序)和硬件(CPU、GPU 和其他计算机组件)之间的中介。在这些接口出现之前,软件开发人员必须针对每种硬件进行专门编程,这是一项极其繁琐且扩展性极差的任务。DirectX 等 API 的出现,使得编写一套适用于任何兼容型号的单一代码库成为可能。OpenGL 也采用了标准,但其优势在于跨平台和开源。
Vulkan 更进一步,减少了处理器开销,并将尽可能多的任务委托给显卡。它允许程序员访问高级 GPU 功能(例如批量处理和多核并行执行),从而实现…… 更高的性能、更低的 CPU 占用率、更惊艳的图形效果和更流畅的体验此外,它还有助于使应用程序适应不同的设备,同时最大限度地减少源代码的差异。
简史:从 OpenGL 和 Mantle 到 Vulkan
Vulkan 的出现是图形通信界面数十年发展演变的结果。上世纪90年代,Silicon Graphics的OpenGL确立了其作为跨平台标准的地位,与微软专有的DirectX展开竞争。然而,随着现代硬件和多核处理器需要充分发挥其性能,OpenGL逐渐落后。AMD发布了Mantle——最初是为了利用其自身的GPU架构而设计的——之后,OpenGL的代码被转移到了Khronos,后者开发了一个更现代、更通用的API。
在2015年的游戏开发者大会上,Vulkan作为“下一代OpenGL”向世界亮相。从那时起,它年复一年地进行扩展和更新,最终巩固了自身作为众多专注于游戏和 3D 的开发者和大型科技公司的参考选择的地位。
Vulkan 相对于其他图形 API 的优势
对 Vulkan、DirectX12、OpenGL 和 Metal(苹果公司的 API)进行比较是不可避免的。它们各有优势,但 Vulkan 因其诸多技术和实用特性而脱颖而出:
- 真正的跨平台与 DirectX 12(仅限于)不同 WindowsVulkan 可以与 Metal(苹果系统独有)或 Metal 兼容。 WindowsLinux、Android、Tizen、Nintendo Switch、Raspberry Pi、Fuchsia,并且,得益于 MoltenVK 等项目,它还可以与 macOS、iOS 和 tvOS 上的 Metal 集成。
- 开源任何开发者或公司都可以使用和修改 Vulkan,而无需支付许可费,这在开源世界和独立项目中备受重视。
- 降低处理器开销Vulkan 使用批处理系统,不同的线程并行运行,以最大限度地利用 CPU 并释放资源用于其他任务。
- 充分利用多核CPU与后来才尝试适应的 OpenGL 或 DirectX11 不同,它是从零开始为这些架构设计的。
- 预编译着色器它使用中间语言(SPIR-V)来编译着色器,这加快了加载速度,并允许使用更多的着色器而不会降低性能。
- 完全硬件控制内存、同步、优先级和关键功能均由开发者控制,从而可以进行极致的调优或显著节省资源。
- 光线追踪和高级功能Vulkan 支持光线追踪等功能的扩展,类似于 DirectX 光线追踪或 OptiX,可在视频游戏和渲染中实现超逼真的图形。
支持 Vulkan 的平台和制造商
Vulkan 在制造商和平台中的应用持续增长。许多主流厂商通过更新驱动程序,在台式机、移动设备和游戏主机系统中实现原生兼容性或支持。值得注意的例子包括:
英特尔
从 2023 年年中开始,英特尔将在其最新产品线中更新驱动程序,以支持 Vulkan 1.3,而较旧的型号则通过 Linux 上的 Mesa 驱动程序提供有限的支持。Skylake 及更高版本的处理器在 PC、笔记本电脑和小型设备中均得到全面支持。
AMD
AMD 一直是 Vulkan 的主要支持者,并将 Mantle 代码库捐赠给了 Khronos。它提供更新的驱动程序 Windows 以及 Linux 系统(配合 AMDGPU-PRO、AMDVLK 和 Mesa RADV),从而可以针对多代 AMD 显卡进行优化。许多支持 Vulkan 的游戏在 AMD 硬件上的表现更佳。
NVIDIA公司
该公司为其司机提供官方支持。 Windows 以及 Linux,并定期更新虽然在某些游戏中性能可能会有所不同,但 Vulkan 的兼容性和灵活性使其成为一个可靠的选择。此外,它还能增强 Linux 上 Mesa NVK 等开源驱动程序的性能。
谷歌和安卓
自 Android 7 以来,大多数 64 位智能手机和平板电脑都支持 Vulkan 1.1 或更高版本,谷歌也在系统功能和游戏中推广其使用。我们还分发了 ANGLE,这是一个将 OpenGL ES 转换为 Vulkan 的层,以方便过渡和未来的兼容性。
苹果及其支持限制
苹果更倾向于使用其 Metal API,因此 macOS 和 iOS 上的 Vulkan 功能并不完整,并且需要诸如 Metal 之类的库。 MoltenVK这使得 Vulkan 能够在 Metal 上运行,但缺乏官方支持且存在诸多限制。社区认为,原生支持将有助于更多软件登陆 MacBook、iMac 和 iPad。
任天堂Switch和其他游戏机
Vulkan 于 2016 年集成到 Switch 中,旨在简化游戏移植并提升性能。PlayStation 和 Xbox 也采用类似的技术,但在 Switch 上,Vulkan 兼容性是便携性优化的关键要素。
Vulkan 与游戏、引擎和模拟器的兼容性
哪些游戏使用 Vulkan?Vulkan 集成在哪些游戏引擎中? 虽然数量上无法与 DirectX 相提并论,但它确实提供了大量原生支持的 AAA 游戏,尤其是在 Linux 和 Android 上,以及一些在其他平台上。 Windows 以及 Switch。一些值得注意的例子有:
- 《荒野大镖客2》(可选择 Vulkan 或 DirectX 12,其中 Vulkan 在性能方面表现突出)
- 《毁灭战士》和《毁灭战士:永恒》(率先采用 Vulkan 作为主要引擎)
- Dota 2(自 2016 年起)
- 战锤40.000:战争黎明III
- 奇异的灰烬:升级
- 《无人深空》(从“超越”更新开始,用 Vulkan 取代了 OpenGL)
- 二战ž
- 《反恐精英2》以及其他使用Source 2引擎的游戏
- 《星际公民》(已宣布将从 DirectX 12 迁移到 Vulkan)
- 《疯狂的麦克斯》、《vkQuake》、《雷神之锤3竞技场肯尼版》等等
同样,Unity 和 Unreal Engine 等图形引擎已经将 Vulkan 作为主要后端或兼容平台上的默认模式。这使得更多游戏无需进行重大修改即可利用它,同时也显著提高了 Dolphin、RPCS3 或 Yuzu 等经典游戏机模拟器的性能和兼容性。
技术特性和实际改进:Vulkan 有哪些值得使用的优势?
Vulkan 不仅提高了兼容性,还提高了软件效率和现代化水平。。它的一些优点是:
- 并行和多线程处理:旨在利用多核处理器,从而更容易在现代硬件上扩展性能。
- CPU消耗低通过将任务委托给 GPU 来最大限度地减少开销,从而释放资源用于其他功能。
- 统一 API允许使用单个代码或进行最少的修改来为不同的平台进行编程。
- SPIR-V 中的着色器加载速度更快,支持复杂着色器,可实现更高级的效果而不会造成性能损失。
- 高级内存管理和同步提供精细化控制以优化资源。
- 光线追踪和未来功能:支持在移动设备和桌面设备上实现超逼真光照和反射效果的扩展。
- 在单一环境中进行渲染和计算:集成了通用图形和计算任务,优化了流程。
- 批量工作负载:对命令和数据进行组织,以最大限度地提高效率和能源性能。
Vulkan 在专业渲染行业和电子游戏未来发展中的作用
Vulkan 的应用不仅限于视频游戏;它也在 Blender、Cinema 4D、Houdini、3ds Max 等渲染程序中得到应用,这些程序正在采用其后端来加速处理过程并降低 CPU 负载。这一趋势表明,随着越来越多的移动设备和平台支持 Vulkan,其在模拟、分布式渲染和云游戏领域的应用将持续增长。未来,Vulkan 将被集成到移动操作系统和云服务中,从而为各类项目带来可扩展性和效率。
Vulkan、OpenGL、DirectX 12 和 Metal 之间的主要区别
与它的前身和竞争对手相比,Vulkan 在状态管理、多线程、调试和着色器编译方面表现出色。虽然 OpenGL 使用全局状态系统运行,但 Vulkan 更倾向于使用特定的对象和命令,从而提高了效率和调试性能。两者对 DirectX 12 的兼容性相当,但 Vulkan 提供了更多功能/可能性。 多平台可移植性与苹果独占且封闭的 Metal 不同,Vulkan 是开放的,有利于独立开发者、模组、模拟器和小工作室的整个生态系统。
当前的挑战和局限性
尽管Vulkan发展迅速,但仍面临一些障碍。由于 macOS 和 iOS 缺乏原生支持,Vulkan 在苹果生态系统中的部署受到限制。此外,学习和充分利用 Vulkan 需要比其他粒度较低的 API 更高的技术知识和更大的投入。尽管兼容的游戏数量正在增加,但总体数量仍然小于 DirectX,不过社区和开源支持正在帮助缩小这一差距。
Vulkan 的未来:光线追踪、云游戏及其他
人们对Vulkan未来几年的发展寄予厚望。与各大公司和社区的合作正在推动新的 API 扩展,这将使光线追踪技术能够在移动设备、分布式渲染、流媒体和云游戏等领域得到应用。与操作系统和平台的集成将进一步扩大其应用范围,促进教育、科学、独立游戏开发以及其他专业应用领域的项目发展。
Vulkan 将自身定位为用途最广泛、潜力最大的图形 API,并拥有全球社区的支持和制造商的支持。其开源理念、跨平台兼容性和底层功能使其成为在任何设备上实现最佳性能和提供卓越视觉体验的首选。

精通工业和家用软件、开发和应用的专家。我们乐于充分利用市面上所有软件、程序、应用、工具和操作系统的潜力。
