switch模拟器吧 关注:11,010贴子:7,141
  • 5回复贴,共1

Yuzu进展报告2023年5月【edge浏览器机翻】

只看楼主收藏回复

真是一个月!GOAT发布,柚子冒险进入新平台,我们体验了盖亚计划,全面的Amiibo支持,进一步的YFC项目等等! 系上安全带,开始演奏一些欧洲节拍,这将是一段漫长的旅程。
塞尔达传说:VRAM 的眼泪
六年,等待是值得的。 没有赢得奖金的机制,没有令人筋疲力尽的微交易,没有发布后发布的道歉信。只是游戏,只是好游戏。

在 2015 平板电脑上运行。(塞尔达传说:王国之泪)
塞尔达回来了,再次教游戏行业如何制作视频游戏,同时也让它适合 15 岁的 U 盘,并在 8 岁的移动 SoC 上运行。

而且只有 16GB!(塞尔达传说:王国之泪)
The Legend of Zelda: Tears of the Kingdom不仅让它的前身(一款已经重新发明了开放世界游戏玩法的游戏)看起来像一个技术演示,而且事实证明它也是一个重量级的重量级人物,在模拟时在硬件要求上远远高于同类产品。 更重的物理引擎、大量的着色器以及大量 ASTC 纹理的荒谬使用相结合,让模拟器屈服了。
让我们从公主引入该项目的最复杂的问题开始。PC上的交换机仿真的老克星,现在提升到新的高度:ASTC公司。

鹿。(塞尔达传说:王国之泪)
由于没有一个专用的台式机或笔记本电脑显卡支持 ASTC 纹理的原生解码(英特尔 iGPU 除外),yuzu 被迫将它们即时转码为所有 GPU 都支持的安全无损格式;在本例中,格式。RGBA8
到目前为止,这完全没问题(即使在 2GB GPU 上),因为是唯一一款“广泛”使用 ASTC 纹理的游戏,在用于 4p 和 1080p 屏幕分辨率的移动设备上提供 720K 纹理。 我们的垃圾收集器是两年前与哈迪斯计划一起推出的,我们的老用户称之为“记忆收割者”,当时针对这种最坏的情况进行了调整。ASTRAL CHAIN
但是,如果一款具有更多纹理的游戏和一个远程传输系统,允许玩家在游戏中到达不同地区(反过来,加载大量新的、不同的纹理)版本,会发生什么? 如果这个假设的游戏使用了几十个巨大的ASTC纹理呢?

VRAM着火了!(塞尔达传说:王国之泪)
好吧,突然之间,我们开发的旧的且值得信赖的垃圾收集器不再能够保持8GB GPU的工作。 没错,影响PC游戏行业的VRAM饥饿也伤害了柚子。 必须进行重大更改,并且必须允许2GB GPU仍然以某种方式兼容。

您的作家的VRAM测试塔。GTX 750 2GB、RX 550 2GB 和 RX 6600 8GB。未附图,GTX 1650 4GB,GTX 1660 SUPER 6GB和RTX 3060 Ti 8GB
该解决方案经过多次尝试,被分成几个部分,以确保没有其他游戏受到更改的负面影响,并且需要Maide,byte[]和Blinkhawk的共同努力。
在调查非常低的VRAM设备时,byte[]发现yuzu在Vulkan内存分配器处于压力下时使用了不兼容的内存属性标志,导致低VRAMGPU在尝试实际使用回收分配时崩溃。
拥有更多的VRAM当然有帮助,但这还不足以避免游戏在压力条件下(例如,在不同区域之间传送)咬掉超过GPU内存所能咀嚼的内存。
以前,如果VRAM几乎已满,内存管理器将尝试使用共享内存(仅是系统RAM的一部分)进行新的分配。 这在游戏过程中导致速度大幅下降,因为通过系统 RAM、CPU、PCIe、GPU 和最终 VRAM 的传输操作是一个缓慢的过程,引入了高延迟。
在VRAM中收集内存比将数据传输到系统RAM要快得多。 因此,内存管理器(Reaper)现在将所有内容保存在专用内存(VRAM)中,而不是依赖缓慢的共享内存,从而留出一些可用空间来适应加载新资产时VRAM使用量的突然峰值。 如果您在系统中看到 2GB 或更多始终免费的 VRAM,请知道它的目的是保持游戏流畅,即使在 4GB GPU 上也是如此。 别担心,我们不会浪费您宝贵的 VRAM。我们只是在您需要时保持温暖和舒适。 这也具有节省系统RAM消耗的额外好处,使8GB RAM用户拥有更稳定的游戏玩法。
所有这些还不足以让4GB VRAM或更少的用户获得稳定的游戏玩法,所以是时候揭开柚子袖子上的王牌了。 如果模拟器不再依赖于像素精确但更大的纹理格式,而是重新压缩为其他一些较小的格式,该怎么办?RGBA8
女士们,先生们,我们向您展示了一个可用的新选项,旨在通过将那些被Ganon诅咒的不受支持的ASTC纹理转换为更适合低VRAMGPU的纹理来减少VRAM消耗。ASTC recompressionEmulation > Configure > Graphics > Advanced

我们建议尽可能避免使用BC1。
原理非常简单,我们只是在重新压缩过程中再添加一个步骤,从 ASTC > RGBA8,到 ASTC > RGBA8 > BC1 或 BC3。
默认设置使用旧方法,该方法保留了原始图像质量,但也消耗了最多的 VRAM。 对于希望 模拟 ,如果他们的 GPU 至少有 10-12GB 的 VRAM,我们建议设置此选项。 对于其他更合理的游戏,此选项适用于拥有至少 4GB VRAM 卡的用户。UncompressedRGBA8Tears of the Kingdom
该设置将 ASTC 纹理的 VRAM 使用量减少了四倍,质量损失非常小,通常显示为稍微柔和的纹理。 建议在 6GB 和 8GB GPU 上模拟此设置。 对于其他游戏,此设置适用于具有 3GB VRAM 的 GPU。BC3 (medium quality)Tears of the Kingdom
最后,该设置将VRAM消耗减少了八倍,但也会对纹理质量产生重大影响,以至于某些资源看起来完全不同。 除非确实有必要,否则我们不建议使用此设置。 它允许拥有4GB VRAM的用户在没有重大问题的情况下玩游戏,并使2GB用户在其他游戏中获得更流畅,更可靠的体验。BC1 (low quality)Tears of the Kingdom

从头到尾,BC1 vs BC3 vs ASTC(火焰纹章交战)
如您所见,BC1 在某些游戏中会破坏图像质量。

从头到尾,BC1 vs BC3 vs ASTC(塞尔达传说:王国之泪)
但在其他情况下,差异不太明显。 如果您只有2GB的VRAM和8GB的RAM,那么牺牲可能是值得的。
这目前是使用 CPU 完成的,但计划在未来进行 GPU 加速。 我们还希望在未来添加一个使用 BC7 的选项,以提供更高质量的体验。
请记住,ASTC重新压缩仅适用于ASTC纹理,因此实际的VRAM使用量减少将取决于游戏。并非VRAM中持有的每个资源都是ASTC的。 如果您的硬件可以本机处理 ASTC,则此设置不会为您执行任何操作,因为无需任何重新压缩。
此外,byte[] 还调整了内存管理器,使其更加无情。 此更改应有助于提高在 RAM 较少的系统上长时间会话期间的游戏稳定性。 柚子始终致力于在具有专用GPU的系统上支持至少8GB的RAM。
他还确保在配置步骤期间不会发生内存收集,这样它就不会导致设备丢失(即 GPU 驱动程序关闭)。
通过修复切片上的块深度调整,Blinkhawk 解决了影响地形上阴暗纹理的渲染问题,这个错误在低 VRAM 硬件上尤其令人沮丧。Tears of the Kingdom

让我们不要让阴郁感到沮丧...(塞尔达传说:王国之泪)
对于具有 16GB 或更少系统 RAM 的集成 GPU 用户,例如 Steam Deck,新手 scorpion81 为您提供了款待。将硬上限设置为 4GB 可以播放,而不会太用力地撞击页面文件/交换。Tears of the Kingdom
配备2GB的GTX 750(塞尔达传说:王国之泪)的差异
以上总结了对内存管理所做的更改列表,以允许至少在我们的硬件要求中列出的组件中播放。Tears of the Kingdom
如果 GPU 仅支持 ASTC 纹理,则不需要进行这些更改。 难道你不希望你的游戏不超过100GB,而不是拥有破坏图像质量的软件功能,比如帧生成吗? 本机ASTC解码支持将使这成为可能。
英特尔锐炬 Xe iGPU 可以在手持模式下以 30 FPS 的速度运行游戏,同时使用的内存比任何其他硬件组合都少,这一切都归功于他们最后一个能够解码 ASTC 的 GPU。 稍后将详细介绍英特尔的驱动程序支持。

我们需要更深入!(塞尔达传说:王国之泪)
这是最糟糕的部分...到目前为止。需要做更多的工作才能使游戏正确启动和渲染。让我们深入了解一下。
Switch和Android设备的共同点是它们呈现在屏幕上的方式。 Google的操作系统使用(唯一好的Linux演示方法),而Switch使用,这是为Switch的固件和操作系统设计的定制改编。 虽然这为我们提供了一个很好的参考框架,说明应该如何模拟,但有时错误仍然会潜入。 这些错误并不总是很容易发现,特别是如果到目前为止没有游戏存在渲染问题。SurfaceFlingernvnflingerSurfaceFlingernvnflinger
byte[] 意识到 yuzu 错误地序列化绑定器响应(与 Android 的方式不同)。 修复这个允许启动的简单错误。Tears of the Kingdom
同时,Maide 实现了 Kristijan1001 建议的着色器修复,解决了 The Deeps 中云闪烁和缺少几何体的问题。

你的GPU很好,它只是软件。(塞尔达传说:王国之泪)
接下来是一个只影响基础游戏的错误。后续更新不受影响,因为它们以不同的顺序呈现。

加农喜欢录制林克...(塞尔达传说:王国之泪)
右侧这个神秘的红点是由于清除时错误地跟踪呈现器目标索引引起的。 由于Maide所做的一些行为改变,Link不再被监视。
游戏发布后,一些用户报告说,游戏存档文件中的日期始终设置为 1 年 1970 月 <> 日。 在检查了 Switch 的行为后,byte[] 实施了一些更改,通过更新的服务实现解决了这个问题,该服务实现允许以纳秒为单位计算时间,自动调整时钟偏差,并使用与系统稳定时钟相同的时钟源。
还有报告称,在使用 2X 分辨率缩放因子时会出现图形故障:切换武器后,链接和地形纹理会损坏。

打乱的纹理。(塞尔达传说:王国之泪)
Blinkhawk 很快找到了这个问题的原因:在缓冲区缓存中负责同步的代码中执行了错误的清除。一些调整,游戏可以在缩放时安全地玩。
对于Linux AMD用户,尤其是那些没有使用最新Mesa RADV Vulkan驱动程序版本的用户,byte[]发现动态深度钳位的功能之一在驱动程序中实现不正确,导致游戏中某些说明性时刻的顶点爆炸。VK_EXT_extended_dynamic_state3

哦,有顶点...(塞尔达传说:王国之泪)
禁用受影响驱动程序版本及更早版本的功能可解决此问题。
另一个已发现的问题影响了Ultrahand技能的光线投射,旨在帮助玩家定位物体。 绿色光芒具有像素化的外观,这是由于附件反馈回路上缺少屏障造成的。

绿灯侠手。(塞尔达传说:王国之泪)
敲了几下键盘后,byte[]因羡慕而变绿。
在奇怪的渲染问题列表中,下一个是影响摄像机变化的问题 - 例如,与NPC交谈或用弓瞄准/投掷武器时。 玩家面前的大片区域会变黑一帧,然后恢复正常。 不用说,这非常分散注意力。
一把被诅咒的弓,它试图带你去暗影领域!(塞尔达传说:王国之泪)
此错误是由纹理缓存处理别名和重叠的方式引起的,这些别名和重叠的顺序错误并导致同步问题。 经过 Blinkhawk 和 byte[] 的几次尝试,这个问题终于得到了解决。
在调查与 相关的错误时,还发现了隐藏在代码中 3 年的复制粘贴错误。 在着色器重新编译代码中,罗德里戈将错误的值从一行复制到下一行。 这是另一个有趣的案例,直到现在问题才成为问题,因为直到塞尔达需要再次救援之前没有人注意到这个错误...... 通过更改单个字符,byte[]解决了可以从整个地图的远处发现的地形间隙,但在The Deeps中最为明显。Tears of the Kingdom

还有什么比《深渊》更深?(塞尔达传说:王国之泪)
在一个需要UI设置来改善游戏渲染的有趣案例中,byte[]添加了一个选项来清理游戏的缓存存储,当右键单击柚子游戏列表中的游戏时,可以从菜单中访问该选项。Remove

观看游戏实时重建图像很有趣。


IP属地:湖北1楼2023-06-21 16:02回复
    Maide 发现了与管道缓存大小相关的问题。 Yuzu 曾经以字节为单位返回着色器代码的大小,后来用于调整负责存储缓存的无符号 64 位整数数组的大小,使数组比应有的大小大 8 倍。 这是通过使用数组的长度而不是以字节为单位的大小来修复的。
    拥有 8GB RAM 的用户的一个常见抱怨是游戏随着时间的推移变得不稳定。这不一定是内存泄漏 — 它可能只是系统在将新着色器添加到管道缓存时耗尽了 RAM。 这种变化使他们受益匪浅。但现在是 2023 年,您应该认真考虑现在获得 16GB。王国的眼泪不是超级马里奥奥德赛。
    ASTC继续成为新闻 - 这次是3D ASTC纹理的问题,因为它不足以处理平面2D纹理。 他们实现中的一个错误导致关卡疯狂场渲染不正确。 “鹰派”进行了一些调整,孔军又重新开始行动了。Donkey Kong Country: Tropical Freeze

    没有流沙了!(大金刚国度:热带冰冻)
    Yuzu 的缓冲区缓存负责存储大多数形式的任意数据供 GPU 处理。 缓冲区可以由 GPU 或 CPU 修改,因此 yuzu 会将缓冲区跟踪到一种类型的修改,然后等待另一种类型的修改来同步数据。但实际上,在跟踪修改之前执行同步会更有意义。 Maide注意到了这种差异,并着手纠正它,简化代码。
    由于旧代码将全局跟踪缓冲区,因此某些绘制最终会忽略通道交换,从而导致来自错误通道的剩余值绑定在统一的缓冲区中。 相反,如果我们将缓冲区绑定移动到特定于通道,则问题就解决了。 此修复也应该会影响使用多个 3D 通道的更多游戏。
    继续代码优化,Maide 发现渲染目标的选择方式存在一些不正确的行为。
    (在RTX出现之前渲染开发人员的OG RT)是一种纹理,其中包含要在绘制或清除操作期间渲染的图像。Render Target
    模拟器必须查看可用呈现目标的格式,以确定要清除哪个呈现目标。 例如,假设有 5 张图像绑定为渲染目标,从 到 编制索引,并且游戏请求清除带有索引的渲染目标。 下一步是查看数组中渲染的格式。 这就是旧代码工作不正确且效率低下的地方,因为它会遍历所有呈现目标并选择返回与 对应的有效格式的第一个呈现目标。 这很可能符合预期,或者更早的呈现目标,例如 or ,在这种情况下,代码将完全忽略我们想要清除的实际呈现目标。042target[2]target[2]target[2]target[0]target[1]
    简而言之,由于清除错误的渲染目标的风险,此过程既慢又可能不安全。 Maide 对此不满意,努力解决它,清除了正确的渲染目标。
    是时候引入另一个术语了! 是 Vulkan API 的一个功能。其目的是允许 CPU 以有效的方式更新输入绑定,即着色器使用的资源列表。Descriptor Sets
    以前,yuzu 会在来宾操作(直接从游戏翻译的操作)和主机操作(柚子为模拟 Vulkan 中不存在的特定 Switch GPU 功能而执行的操作)之间共享相同的描述符集更新队列。 这可能会错误地导致主机操作在处理期间覆盖来宾管道的描述符集更新。 充其量,这会破坏来宾管道的状态,最坏的情况是,它会关闭整个 GPU 驱动程序。 如果您在游戏中遇到随机崩溃,,您现在可能知道原因。Xenoblade ChroniclesLuigi’s Mansion 3Bayonetta 3
    那么,如何解决这个问题呢?“简单!”让我们为主机和来宾计算管道提供自己的队列。将此信息放在单独的队列中可以修复数据完整性问题,从而大大提高稳定性。
    新人Danilaml在负责解码H.264视频的标头中发现了一个缺失的位标志。 这将修复 的视频呈现。Layton's Mystery Journey: Katrielle and the Millionaires' Conspiracy

    没有过场动画的游戏很无聊,对吧?(莱顿的神秘之旅:凯特丽尔和百万富翁)
    danilaml 还通过使用 FFmpeg 附带的 yadif 滤镜增加了对去隔行扫描视频播放的支持,修复了游戏的视频渲染。 谢谢!
    英特尔的Linux Mesa Vulkan驱动程序ANV破坏了版本22.3.0及更高版本的扩展,导致几款游戏无法启动。 toastUnlimited禁用了扩展以确保适当的游戏兼容性,然后,在ANV开发人员快速响应解决问题后,byte[]允许在当前的Mesa版本上使用该扩展。 Mesa是应该如何完成GPU驱动程序开发的一个例子。VK_KHR_push_descriptor
    GPU 通过删除等待信号量,将使用 Vulkan 时的整体性能提高了几个百分点。每一点都有帮助。
    Epicboy继续他的十字军东征,以改进OpenGL。 这一次,他修复了将 ASTC 重新压缩设置为“未压缩”时使用的问题。Accelerate ASTC texture decoding
    最后,为了结束此部分,Maide 通过跳过应用程序不使用图形时不需要的缓冲区缓存部分来修复自制控制台应用程序崩溃的问题。
    盖亚精简计划
    byte[] 自己实现了一些文件系统更改,让我们体验了即将发生的事情。
    这是一个有趣的问题。为什么启动或使用模组需要几分钟? 因为随着游戏中文件数量的增加,旧的实现变得二次变慢了!Fire Emblem EngageAnimal Crossing: New Horizons
    修复可怕的时间复杂性将启动期间的补丁时间从一分半钟减少到三秒,从大约一分钟减少到一分半秒。哇!Fire Emblem EngageAnimal Crossing: New Horizons
    该函数并不是不必要的二次行为的唯一来源。读取次数也随着文件计数的次数呈二次增长,文件数量现已得到优化,改善了游戏内加载时间和启动时间。
    我们发现的另一个减速来源是不必要的复制和释放字符串,我们计划在未来的盖亚项目中解决这个问题。
    最后,需要存根保存数据读取器才能启动。cache storageTears of the Kingdom
    输入和 Amiibo 改进
    HD Rumble是Switch的营销功能之一,这是一种很酷的说法,官方Switch控制器负责隆隆声,而不是我们过去习惯的老式隆隆声电机。Linear Resonant Actuators
    好吧,索尼的DualSense控制器也有线性谐振执行器,所以理论上,它应该能够模拟高清隆隆声。 问题在于,SDL,我们用来在柚子上支持非任天堂控制器的API,目前没有公开利用这些花哨的执行器的方法。
    好吧,新人marius851000为DualSense所有者改善了这种情况,因此他们提出了根据游戏要求的频率更改隆隆声幅度的想法,其中140-400 Hz作为低频,200-700 Hz作为高频。 通过这种方式,可以实现一些“隆隆声音频”的感觉,以及整体上更好的摇晃体验。 谢谢!
    为了帮助您查看运动控件是否正常工作,German77 在控制器预览中添加了一个可爱的小立方体。 随意玩它!

    警告,它会上瘾。
    摇杆漂移并不是使用控制器的游戏玩家唯一担心的问题,还有更罕见的运动漂移!这可能是自然发生的,也可能是在一些严肃的游戏时刻之后发生的,因此需要重新校准的选项。 值得庆幸的是,German77 处理了它,如果您右键单击 中的运动 # 映射,请添加该选项。 如果您使用它,请记住将控制器/设备放在平坦的表面上至少 5 秒钟,以便该过程可以进行。Emulation > Configure… > Controls

    别动摇了!
    现在,对于肮脏的作弊者来说,这是思想开放的玩家。 游戏会阻止尝试多次使用相同的 Amiibo,因此 german77 添加了一种每次使用 Amiibo 时随机生成新 ID 的方法。可以从 启用该选项。Emulation > Configure.. > Controls > Advanced > Use random Amiibo ID

    右下角,不能错过。
    请记住,如果ID更改,例如会抱怨的游戏。Super Smash Bros. Ultimate
    在使用 Joy-Con 时,扫描 Amiibos 似乎是一项非常苛刻的任务,因为可用的蓝牙带宽。 为了缓解这种情况,German77 将扫描速率从每帧一次(30 或 60 Hz)降低到 5 Hz,并将获取有效数据的尝试次数从 1 次减少到 7 次。 这应该可以缓解正确的 Joy-Con 对可用蓝牙带宽的过度饱和,从而大大减少卡顿。
    但是,如果您想在Pro控制器上享受一些Amiibo扫描怎么办? 以前,支持仅适用于 Joy-Cons。 但是现在,也支持专业控制器!只要控制器通过蓝牙连接,并且在 中启用了自定义 Pro 控制器驱动程序。 这个实验标签现在已经进入了最后的日子。Emulation > Configure.. > Controls > Advanced > Enable direct Pro Controller driver [EXPERIMENTAL]
    除了Amiibo的更改之外,German77还在使用Joy-Con或Pro控制器时实现了对Amiibo编写的全面支持! 这样可以为完整的Amiibo仿真启用最后一个缺失的部分,就像您在交换机本身上使用它们一样。
    随意扫描到你的心满意足!只要你设法在它们有库存时抓住其中一个塑料东西。
    值得一提的是,写入 Amiibo 数据需要转储相关密钥。 但是,如果您只想加载解密的 Amiibo 转储,German77 添加了对使用它们的支持,而无需转储 Amiibo 密钥。
    此时,完成Amiibo支持的唯一事情就是添加一个经理!
    音频和其他更改
    反对适当关闭柚子的战争仍在继续。 这一次,Maide 在 DSP 引擎中实现了修复,使其在终止所需的系统实例之前关闭。 这样就可以避免在关机期间出现死锁,从而略微改善情况。 另一场战斗赢了,但还剩下多少?
    下一个让我们想知道...Ronikirla报告说,由于游戏两个小时后违反读取访问,它将持续崩溃。Pokémon Mystery Dungeon Rescue Team DX
    这不是一个简单的要追踪和修复的错误,但是ronikirla的Twitch聊天中的某人将该问题确定为地址空间代码中的错误块检查,并传递了修复程序。

    喜欢艺术风格!(宝可梦神秘地下城救援队DX)
    更改似乎也可以修复.Advance Wars 1+2: Re-Boot Camp

    邦德,柚子邦德。(高级战争1+2:新兵训练营)


    IP属地:湖北6楼2023-06-21 16:11
    回复
      最近对音频仿真所做的更改提高了性能并解决了崩溃问题,但也有一个有趣的回归。 某些声音效果以较慢的速度播放。
      在进行了一些广泛的逆向工程后,Maide得出的结论是,由于DSP的工作方式,在处理等待中需要5毫秒的超时。 实施超时后,其他人现在可以全速播放音频。SUPER MARIO ODYSSEYKirby Star Allies
      Danilaml继续提供好东西。 这一次,只需更新 cubeb(我们的音频后端之一,大多数时候是默认后端)修复了一个错误,该错误在将 PC 从睡眠状态唤醒后使模拟器静音。 请随时合上眼睑,稍后再继续!
      用户注意到,在最近更改修复有线音频后,许多游戏中的音频可能会不同步并且声音噼啪作响或失真。 章程建议,如果队列太大,允许音频缓冲区无限期等待,所以 Maide 实现了这个想法,瞧,问题消失了! (请原谅我的法语;西班牙语更酷)。SUPER MARIO ODYSSEY
      用户界面改进
      如果您的柚子配置了多个用户配置文件,并且启用了选项中的选项,则必须单击要启动的配置文件,然后单击确定。 好吧,对于新来的Qigo42来说,这并不令人满意,因此他们允许只需双击即可使用配置文件选择弹出窗口! 没有什么比生活质量的变化更胜一筹了。谢谢!Prompt for user on game bootEmulation > Configure > General
      jbeich 回来了,再次修复了 BSD 支持! 拥有更多的操作系统替代方案总是好的。
      延续生活质量变化的趋势,新人格里姆科尔为我们准备了一份不错的礼物。

      现在,为了您的方便...
      过滤器和抗锯齿选项的上下文菜单!如果您想尝试其他选项,则不再需要浏览整个选项列表,只需右键单击并选择即可。 谢谢!
      如果您双击游戏列表中的游戏,您最终可能会再次双击它或在游戏列表卸载之前按回车键,这会导致柚子尝试加载游戏两次,通常只是崩溃。 German77 通过在游戏启动后立即禁用游戏列表来解决此问题。
      硬件部分
      我们不再只支持PC!在以后的文章中,我们将包括Android GPU供应商的任何新闻。
      英伟达
      我们有一些好消息,也让绿队有点失望。 但首先,我们在麦克斯韦和帕斯卡问题上取得了一些进展。
      过去,我们曾经建议用户坚持使用GTX 750/900/1000系列的旧驱动程序版本,因为任何比470驱动程序系列更新的东西都不稳定。 多亏了垃圾回收器所做的工作,我们现在知道这些卡的问题在于驱动程序如何处理内存不足的情况。 我们甚至能够在4GB的图灵卡上观察到它,所以它并不是旧卡所独有的,我们只是没有像塞尔达那样使用VRAM的游戏。Tears of the Kingdom
      我们通过测试用例向 NVIDIA 报告了我们的发现,所以现在它掌握在他们手中。
      当VRAM填满时,AMD卡会变得越来越慢,直到它停止工作并导致yuzu崩溃,而NVIDIA GPU会损坏整个桌面,带走所有显示器,有时甚至强行重新启动系统。
      使用 ASTC 重新压缩选项有助于避免此问题。 但如果确实发生了,它仍然可能导致系统锁定或重新启动,因此我们需要一种方法来缓解此问题,同时 NVIDIA 调查该问题。

      现在只需 2GB 的 VRAM 即可播放!(塞尔达传说:王国之泪)
      幸运的是,我们偶然发现了解决问题的权宜之计,我们更新了推荐的设置指南以包含它。 只需在 NVIDIA 控制面板中更改为 。 用于使 AutoHDR 正常工作的相同设置有助于控制 VRAM 外崩溃。 将其与BC1 ASTC重新压缩结合使用将使旧的2GB卡运行而不会崩溃。Vulkan/OpenGL presentation methodPrefer layered on DXGI Swapchain

      这个界面太旧了...
      切换到新闻好的一面,HolographicWings在这里制作了一个关于如何在柚子中使用的绝佳教程。 DLDSR是一种使用RTX卡中可用的张量核心来放大图像的方法。您可以将其视为 DLSS 和 FSR 1.0 的混合体,因为它适用于任何游戏,但使用深度学习而不是传统的过滤器。 不用说,如果您有测试它的硬件,这是提高图像质量的好方法。DLDSR
      在其他好消息中,Special K 现在支持 Vulkan 中的 HDR,并且可以与柚子配合使用! NVIDIA仍然是唯一受支持的供应商,因为这要归功于神奇的选项,但是Special K在AutoHDR上提供的质量和定制非常出色。昂贵的OLED从未如此诱人。Prefer layered on DXGI Swapchain
      请注意,我们已经在测试中确认需要手动启用才能使 Special K 正常工作。 這還包括其他 NVIDIA 獨有的好點,例如由於 NVIDIA Reflex 而減少輸入延遲。 随意尝试该应用程序,这太棒了。Prefer layered on DXGI Swapchain
      以下是一些 .jxr 格式的比较图片,可以使用 Windows 11 附带的默认照片应用打开它们,以及.png格式的 SDR 控件捕获:
      首先是 SDR 中的场景,即默认体验。
      Windows 11的AutoHDR与Cemu重命名技巧。
      禁用感知增强功能的 SpecialK HDR。
      启用了感知增强功能的SpecialK的HDR。
      请记住,Special K需要根据显示器的功能进行调整,而我简陋的350尼特技嘉G27Q对这种变化在真正好的HDR显示器上可以做的事情是一种伤害。 如果您有 OLED 或具有调光区和更高峰值亮度的显示器,则期待更好的结果。
      现在,谈谈令人失望的消息:RTX 4060 Ti。
      我们不明白NVIDIA在决定Ada Lovelace GeForce产品堆栈时做出了什么样的决定,但这只不过是错误。 RTX 4060 Ti 8GB只有128位宽内存总线和GDDR6 VRAM与其前身256位宽RTX 3060 Ti相比,是仿真的严重降级。 如果您获得较新的产品,您将在交换机仿真中获得较慢的性能。 我们别无选择,只能建议用户尽可能坚持使用安培产品,或者如果您由于某种原因(DLSS4000 或 AV3 编码)必须获得 1 系列卡,则在产品堆栈中瞄准更高的目标,这显然是 NVIDIA 的目标。
      支持Ada的论点是增加的缓存大小,RDNA2过去证实这大大有助于性能,但它也有一个无声警告没有评论提及:如果你使缓存饱和,你留下了一个128位宽卡的性能,并且在使用分辨率缩放器时很容易使缓存饱和 - 只需2倍就足以降低性能。
      在我们看来,花费 400 美元购买一张在 1 倍扩展之外性能糟糕的卡是一项糟糕的投资,应该完全避免。 我们希望 16GB 版本至少配备 GDDR6X VRAM,这将增加可用带宽并为此类工作负载提供实际的性能改进。
      阿德
      AMD在每个新驱动程序版本中都显示出稳步的进步,因此,对于Radeon所有者来说,yuzu的体验非常好,除了一些记录在案的硬件限制导致我们过去提到的图形问题。
      主要的例外是影响 的渲染问题,这只发生在 RDNA3 硬件 RX 7000 系列上。Tears of the Kingdom

      RX 7900 和 RX 7600 系列都会受到影响。(塞尔达传说:王国之泪)
      如您所见,纹理以一种有趣的方式被破坏。 我们在代码中找不到任何问题,旧硬件也不受影响,因此我们向 AMD 提交了一个简单的测试用例来演示问题的严重程度。 受影响的用户将不得不等待,看看未来的驱动程序更新是否可以解决此问题。
      英特尔
      之后...我们与英特尔就他们的驱动程序以及他们如何处理错误报告进行了特殊的讨论,我们很高兴地宣布最新的公共测试版驱动程序解决了我们七个月前报告的 SPIR-V 问题! 我们强烈建议英特尔 Windows 用户更新到此驱动程序,以提高大多数游戏的稳定性。
      可悲的是,解决这个问题向我们展示了柚子有错的两个方面。 但幸运的是,这两个问题在最新的抢先体验版本中(在撰写本文时)的测试中都有修复。如果一切按计划进行,他们应该会在几天内到达主线。敬请关注。
      第一个问题是在柚子的代码中。 一些计算着色器在某些地方存在障碍,导致生成无效的 SPIR-V 代码,虽然 NVIDIA 和 AMD 对此没有问题,但英特尔更密切地遵循 Vulkan 规范,并且不喜欢结果,导致崩溃。 在我们测试解决方案时,目前我们建议主线英特尔用户在 .Enable Compute Pipelines (Intel Vulkan only)Emulation > Configure… > Graphics > Advanced

      这只是暂时的(著名的遗言...
      另一个问题是硬件限制。 英特尔决定在其第 64 代图形产品 (UHD 12/Xe/Arc) 上取消对 Float700 操作的支持,而不提供驱动程序回退。 好吧,事实证明,由于未知原因,其过场动画需要极高的精度——当前英特尔硬件物理上缺乏的精度,导致我们在构建着色器时崩溃。 我们正在测试 Float64 到 Float32 着色器的转换来解决这个问题。 目前,Mainline Intel用户希望使用超过介绍过场动画的保存,或者使用OpenGL,因为OpenGL规范规定必须以某种方式支持Float64,即使它是通过软件仿真。Tears of the Kingdom
      目前,该游戏可以以基本一致的30 FPS播放,i5 1240P运行Iris Xe iGPU(如果您坚持手持渲染),并且表现出比AMD的Vega iGPU更好的性能。
      对于那些对桌面产品体验感兴趣的人,以下是使用 Arc A770 16GB 拍摄的镜头:
      弧是可行的!(塞尔达传说:王国之泪)
      未来项目
      关于正在进行的项目,我们目前没有太多要宣布的 - 我们非常忙于Android版本!Tears of the Kingdom
      GPU Code 正在做一些很酷的事情。其中之一是实施一种方法,使与在英特尔和AMD硬件上运行的DXGI演示等效;这样,AutoHDR可以与任何GPU供应商一起使用,而不仅仅是NVIDIA。
      这就是所有人!这次是真的。如果您已经达到这一点,感谢您的耐心等待和阅读到最后。我们希望您喜欢这份大型报告!下个月见!我们都需要一些睡眠...


      IP属地:湖北7楼2023-06-21 16:13
      回复



        IP属地:湖北8楼2023-06-21 16:23
        收起回复