Switch模拟器Ryujinx里程碑Vulkan支持

Switch模拟器Ryujinx里程碑Vulkan支持

首页模拟经营抖音异世界转生模拟器更新时间:2024-05-09

Switch模拟器Ryujinx里程碑Vulkan支持

2022 年 7 月 31 日是万众期待的 Vulkan 测试版发布一周年的时间,现在终于到了。 一年的测试、近 40,000 行代码和跨越 122 人的 700 多份报告将我们带到了这里,我们已经准备好向您介绍这段旅程,这对我们意味着什么,当然也对您意味着什么!

什么是Vulkan?

Vulkan 是一个图形 API。 将其视为图形卡 (GPU) 和任何 3D 应用程序之间的桥梁。 其中许多您可能已经听说过,包括:OpenGL、DirectX11 和 DirectX12,到目前为止,Ryujinx 仅使用 OpenGL。

听起来很酷。 我为什么在乎?

Vulkan 是比 OpenGL 更现代和“低级”的 API,因此,开发人员可以更精细地控制 GPU 硬件; 在所有方面都是优点和缺点。 虽然在尝试准确模拟系统时这种详细程度可能是有益的,但它也可能会导致数小时的痛苦,不得不进行手动更改, 相比之下,OpenGL 是一个更高级别的 API,虽然它不提供对 GPU 的直接访问,但可以让驱动程序在开发方面占用大量空闲时间,并且不像 Vulkan 那样需要大量的手动操作.

不幸的是,这就是事情变得……不幸的地方。 将核心渲染功能留给 GPU 驱动程序依赖于所述驱动程序完全符合 OpenGL 规范,并且这样做时也不会出现错误。 最后一份备忘录似乎在 AMD 和 Intel 的邮件中丢失了,后续似乎也没有发送。 自从 Ryujinx 开始渲染图形以来,这让这些产品的所有者陷入了困境。 他们可以处理图形错误和性能不佳或使用 Linux(开源驱动程序提供更清晰的体验)。 由于 Linux 并不适合所有人,因此需要一个真正的解决方案,幸运的是,NVIDIA、AMD 和 Intel 的每个主要 GPU 供应商都提供高度符合 Vulkan 规范的驱动程序。

除了兼容性之外,Vulkan 还可以原生使用一种称为 SPIR-V 的着色语言,它 在 编译着色器方面比 OpenGL 使用的相当缓慢的 GLSL 快得多 如果不出意外,这可能是普通用户或 Nvidia GPU 所有者最会注意到的变化!

发生了什么变化,它将如何影响我?

首先,您需要知道,一旦您更新超过 1.1.200 并启动游戏,您多年来培养的任何着色器缓存都将不复存在。 虽然这确实意味着您将在每个游戏中从头开始构建着色器,但由于 SPIR-V 的编译速度非常快,重建它们应该更快且更少痛苦! 如果您选择使用 Vulkan。

AMD 和 Intel 用户希望立即将 Vulkan 设置为他们的后端,并且永远不要回头,而 Nvidia 用户则可以选择。 虽然在大多数情况下,由于其较低的着色器卡顿,Vulkan 可能是更好的选择,但可能OpenGL对有一些游戏在其中一个或另一个图像中渲染性能更好,所以这就需要您自己选择。 当您切换时,为一个后端构建的着色器将重建为另一个后端的免费集,因此尝试两者都不会丢失任何东西。 一个好的策略可能是使用 Vulkan 进行最初的着色器构建,然后如果它的性能更好一点,则切换到 OpenGL。 这是你的选择。

不过需要注意的是:Vulkan 上的 VRAM 使用率更高,分辨率缩放更昂贵。 也就是说Vulkan相对OpenGL的显存使用率会更高。

纹理再压缩

近期! 一些游戏,即 异界锁链,使用 ASTC(Adaptive Scalable Texture Compression)来压缩它们的纹理。 Nintendo Switch 本身支持对这些纹理进行原生解压缩,但我们的桌面显卡不支持,这需要额外的工作来渲染它们。 这意味着这些纹理可以增长到原来的 4 倍,导致 VRAM(显存) 变得臃肿。

纹理重新压缩现在可以在图形选项卡中找到,它重新压缩 ASTC 纹理,使它们看起来稍微差一些,但可以让您的 PC 避免驱动程序崩溃。 这适用于 Vulkan 和 OpenGL,尽管它在 Vulkan 上成为一个更大的问题。 OpenGL 非常聪明,它会在 VRAM(显存) 和 DRAM(内存) 之间移动,以防止驱动程序在低 VRAM 系统上崩溃,它自己会这样做。 Vulkan 没有提供这种动作,因此请注意低 VRAM 卡,尤其是在分辨率缩放时。 纹理再压缩在某些特定情况下会有所帮助,但它并不是万能的。

任何 GPU 启用此设置不能 小于 4GB

是否计划了异步着色器编译(异步着色器)?

不会。由于同时使用并行着色器编译和 SPIR-V 作为着色语言,着色器卡顿应该相对较少且在实体系统上相差甚远。 跳过绘制以避免卡顿最终是一种技巧,而且并非每个着色器都可以异步编译。 这样的设置永远不会完全消除卡顿,而且在大多数情况下,它只会导致严重的图形错误而回报很少。

话虽如此,但开发人员并不反对外部贡献者在该领域进行尝试。 如果提出的解决方案符合他们的标准并且在全球范围内完全适用于每个标题,那么祝他们好运!

另一方面,还有其它方法可以进一步减少着色器编译的卡顿,以及一般的卡顿。 请放心,主要开发人员都知道这一点。

着色器编译对比与 OpenGL

内容警告:血腥。 生化危机启示录 2 用于以下比较,可能并不适合所有人。

带着 RX 570 去散步

我们和我们更广泛的社区在一年中就这些变化对 NVIDIA 以及所有供应商的影响进行了广泛的测试。 然而,到目前为止,最常见的替代品当然是 AMD。 下面是 OpenGL 和 Vulkan 与运行最新推荐驱动程序的 RX 570 之间的性能比较。 可以看到Vulkan是有多么的优秀。

OpenGL对比Vulkan性能

这里的一些杰出游戏是 马里奥赛车8豪华版,它以惊人的 121FPS(比 OpenGL 提高了 163%)和 超级马里奥奥德赛 以 63FPS(比 OpenGL 提高了 413%)! 所有这些帧率在 Vulkan 上也更加稳定,这在多人游戏场景中尤为重要。 《马里奥赛车 8 豪华版》之前几乎没有达到 60FPS 以上,并且在高玩家人数的比赛中经常低于; 现在任何专用的 GPU 都可以轻松应对。

前后艺术画廊:英特尔

AMD 在性能方面遭受了什么,英特尔在图形错误和性能方面遭受了什么。 幸运的是,他们的 Vulkan 驱动程序有些合理,但我们当然希望他们即将推出的 ARC 阵容在性能方面比他们目前的集成选项更有冲击力。

喷射战士2

星之卡比:探索发现

任天堂明星大乱斗:终极版

真女神转生V

供应商不可知的修复

Vulkan 不仅为具有低于标准的 OpenGL 驱动程序的 GPU 提供了可喜的缓解; 它还可以解决OpenGL在一般体验中的一些限制。 在包括金童 NVIDIA 在内的所有 GPU 上都观察到了以下改进。

光明记忆

随机位置出现黑色纹理的错误是困扰许多使用 OpenGL 渲染器的虚幻引擎 4 游戏的问题,例如 时空勇士、奇异人生 和 勇气默示录2 。 由于 Vulkan 更高的纹理限制,这些在 Vulkan 中不是问题。 OpenGL 限制为 32。

时空勇士

小小诺亚 还看到了其视觉效果的彻底改造,使其更接近我们确定的意图。

小小诺亚

合并后要解决的已知问题

AMD GCN 卡(任何 RX 400/500 和更早版本)在 马里奥赛车8:豪华版 中由于地图依赖性损坏而出现严重的图形故障。 这是在最近为修复塞尔达传说:荒野之息和火焰纹章无双:风花雪月中的图形损坏所做的更改后发现的,我们在这些 GPU 上强制复制而不是使用损坏的 Vulkan 标志来处理立方体贴图。 通过使用副本,我们发现了在此过程中数据丢失的问题,这也是您在下面看到的核灾难的原因。

马里奥赛车8豪华版

一些游戏会在启动时或菜单后不久崩溃,并在 RADV linux 驱动程序上出现“检测到堆栈粉碎”错误。 目前原因不明。

一些备受瞩目的小众游戏无法在 AMD Vulkan 上启动:巫师 3、异度之刃 3,可能还有更多。

结束语

好吧,这很情绪化不是吗? 这感觉像是一个巨大的里程碑,因为它确实是一个里程碑。 与着色器卡顿的斗争正在取得胜利,AMD 和英特尔 GPU 所有者的前进道路开始清晰,我们的 GPU 开发人员 也许 可以得到当之无愧的休息。 不要害羞地祝贺开发团队取得这一成就,并感谢他们的不懈努力!

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved