系统极客一直在努力
专注操作系统及软件使用技能

DirectX vs. Vulkan:游戏玩家该怎么选?

游戏

要想获得流畅、炫酷的游戏体验,强大的图形 API 必不可少。目前,Microsoft 的 DirectX 和 Khronos Group 的 Vulkan 是两大主流图形 API,它们都致力于优化 CPU 和 GPU 的硬件资源分配,为玩家带来高速渲染和高帧率的游戏体验。

那么,当 Vulkan 与 DirectX 同台竞技时,谁的性能更胜一筹呢?哪一个才是游戏玩家的最佳选择?接下来,我们将深入解析,为你揭晓答案。(剧透一下,答案就是:没有标准答案🥹。)

Vulkan 与 DirectX:发展历程

在深入对比之前,让我们先来回顾一下 DirectX 和 Vulkan 的发展历程,了解它们对游戏领域的重大意义。

DirectX:PC 游戏的起点

在 DirectX 问世之前,游戏开发者主要为 DOS 系统开发游戏。为了拉拢开发者转向 Windows 平台,丰富 Windows PC 的游戏生态,Microsoft 的开发团队决定打造 DirectX。

这场影响至今的游戏领域变革发生在 1995 年 9 月,正好是 Windows 95 发布前夕。当时,游戏市场正在稳步增长。DirectX 1.0 的推出(最初名为 Windows Game SDK),标志着一个新时代即将开启。

DirectX 之所以得名,是因为它的设计初衷就是绕过操作系统,让游戏能够更直接地利用硬件资源,从而实现更流畅的游戏体验。

Alex St John,DirectX 初创团队成员

Alex St John 曾在访谈中表示,Microsoft 在积极推动开发者使用 DirectX,并认真倾听他们的意见。这些反馈后来被用于改进 Windows 上的游戏体验,吸引更多开发者为 Windows 操作系统开发新游戏。

DirectX 12
DirectX 12

在 DirectX 的初创时期,为了吸引游戏行业的关注,并鼓励他们为 Windows PC 开发游戏,Microsoft 实施了一系列创新的营销策略。

当有了 DirectX,开发者就可以绕过操作系统的限制,充分利用 PC 的硬件性能。DirectSound(负责音频处理)、DirectPlay(处理游戏内通信)和 DirectDraw(图形渲染)共同组成了 DirectX 1.0 的核心(当时也被称为 Game SDK 或 Project Manhattan)。

如今,DirectX 已经发展为一系列 API 的集合,被广泛应用于许多游戏。虽然最新版本是 DirectX 12,但许多游戏仍在使用 DirectX 11。

Vulkan:殊途同归,开放标准

将目光转向 Vulkan,它的起源可以追溯到 AMD 的 Mantle API。Mantle 由 AMD 与 DICE 合作开发,并应用于《狙击精英 3》《战地 4》和《文明:太空》等多款游戏。

为推动技术发展,AMD 将 Mantle API「捐赠」给了 Khronos Group,后者基于此开发了 Vulkan。

Vulkan 声称其性能优于 DirectX 11,尤其在 CPU 瓶颈的情况下能更好地提升性能。虽然优势明显,采用 Mantle 的游戏引擎也越来越多,但它的普及率却没有预期那么高(臣妾做不到啊😭)。

在 2015 年的 GDC(游戏开发者大会)上,Khronos Group 将 Vulkan 作为新图形 API 推出。凭借开放标准的优势,Vulkan 迅速成为业界焦点,并被广泛应用于众多游戏,与 DirectX 11/12 形成竞争。

Vulkan
Vulkan

与 DirectX 相比,Vulkan 的跨平台特性占了起手,它不仅适用于桌面平台,也适用于移动平台。此外,Vulkan 还减少了驱动开销,这一点在 DirectX 12 中也有所改进。

在过去五年中,DirectX 和 Vulkan 都取得了巨大进步,并各有其独特优势。接下来,我们将详细介绍它们的特点,并比较、分析在当前热门游戏中,DirectX 和 Vulkan 的性能表现。

DirectX 与 Vulkan:优势对比

Vulkan 以高效的硬件资源管理而闻名,相较于 DirectX 12,它在 CPU、GPU 和内存的资源调度上更加「平衡」。作为一个更底层的 API,Vulkan 具有开源和跨平台优势,为开发者在多个平台上发布游戏提供了极大便利,节省了宝贵的时间和资源投入。

但是,Vulkan 的复杂性也不容忽视,这可能会增加开发周期,尤其是在与 DirectX 等其他 API 相比较时。

对开发者而言,Vulkan 的开源和跨平台特性极具吸引力。对于刚入门的图形和游戏开发新手,Vulkan 也提供了丰富的学习资源。有些开发者甚至认为 Vulkan 的使用更加简洁明了,文档也比 DirectX 更为优秀。因此,某些游戏同时提供了两种 API 选项,以满足不同玩家的需求。

在现代图形技术领域,Vulkan 和 DirectX 12 都支持最新的光线追踪技术,为玩家带来更加真实的视觉体验。

光线追踪开、关对比
光线追踪开、关对比

DirectX 主要应用于 Windows PC 和 Xbox 游戏控制台;而 Vulkan 的平台兼容性更广,支持 Linux、Windows 以及移动平台。例如,搭载 Nvidia Tegra GPU 的 Nintendo Switch 就支持 Vulkan。这种广泛的平台支持让 Vulkan 成为了一个极具潜力的图形 API。

DirectX 与 Vulkan:性能对比

从游戏玩家的角度来看,如果游戏中没有图形 API 选项,就只能使用默认 API 了呗🥲。但如果有得选,DirectX 或 Vulkan 的性能则取决于具体情况。下面我们比较了 DirectX 与 Vulkan 图形 API 的性能,来详细说明这一点。

《荒野大镖客:救赎 2》:DirectX 12 与 Vulkan 比较

《荒野大镖客:救赎 2》:DirectX 12 与 Vulkan 比较
《荒野大镖客:救赎 2》:DirectX 12 与 Vulkan 比较

在《大表哥 2》中,DirectX 12 和 Vulkan 的性能表现各有千秋:

  • Vulkan 在维持最低帧率(FPS)方面表现更为出色,整体帧率波动较小,提供了更加流畅的游戏体验和更高的平均帧率。
  • 相比之下,DirectX 12 虽然在某些情况下能够达到更高的峰值帧率,但最低帧率却不尽如人意。

根据测试,Vulkan 在《大表哥 2》中提供了略微更好的游戏体验。然而,一些玩家的反馈并不一致,有人在使用 Vulkan 时遇到了卡顿,而另一些玩家则认为 DirectX 的表现不够稳定。

《流放之路》:DirectX 11、DirectX 12 和 Vulkan 比较

《流放之路》:DirectX 11、DirectX 12 和 Vulkan 比较
《流放之路》:DirectX 11、DirectX 12 和 Vulkan 比较

《流放之路》虽然是一款老游戏,但它还一直在更新,而且拥有不少玩家,可以在 DirectX 11、DirectX 12 和 Vulkan 三种图形 API 中进行选择。

对这三种 API 进行测试的结果显示:Vulkan 表现最佳,在大部分游戏场景中,帧率大约能达到 ~80 FPS;在某些特定场景下,DirectX 12 的帧率甚至会掉到 60 FPS 以下,比较拉胯。

DirectX 与 Vulkan:该怎么选择?

在选择游戏使用的图形 API 时,了解 Vulkan 和 DirectX 的关键差异非常重要。为了帮助玩家做出明智的选择,我们做了一个快速对比表格:

特性VulkanDirectX 12
发布时间2016 年2015 年
开发商Khronos GroupMicrosoft
帧率FPS 略高,但帧率波动更频繁帧率略低,但稳定性更高
画质效果在相同图形设置下,差异不明显在相同图形设置下,差异不明显
兼容性支持 Windows、Linux、Android、Nintendo 和 macOS 等主要支持 Windows 和 Xbox,其他平台需移植
开发难度相对较低相对较高
适合游戏类型对 CPU 和 GPU 要求不苛刻游戏对 CPU 和 GPU 要求极高的游戏

根据你硬件配置的不同,这两种图形 API 的表现可能会比较随机,而且不同游戏的针对性优化也有很大影响。在选择 DirectX 或 Vulkan 时,只能亲自测试游戏表现,并比较 FPS 数据,没有一个固定公式给你套用。

一般来说:

  • DirectX 更加稳定,但有时 Vulkan 反而表现更好(看人品了👀)。
  • Vulkan 的各种方面平衡性较好,系统开销也不会太大。
  • Vulkan 的底层技术源自 Mantle,AMD GPU 用户使用 Vulkan 可能会有额外的优势。

对于游戏玩家来说,就是哪个 API 效果炸裂就选择哪个。

赞(7) 赞赏

评论 抢沙发

微信赞赏