楼主:
playlive (player)
2025-10-12 19:40:07Ryujinx v1.3.3
以下是机翻润饰
重大变化包括:
- 《王国之泪》 1.4.x 版和《旷野之息》 1.8.x 版支援
* (以及其他使用新音讯渲染器版本的游戏,例如 Nintendo Classics 模拟器
的较新更新)
- LDN 游戏检视器
- 空洞骑士:丝之歌 可玩
- 许多领域的 UI 改进
[使用者接口]
- LDN 游戏检视器
* 使用与相容性清单相同的大部分 UI 程式码,现在您可以在应用程式内使用
LDN 游戏检视器
* 您可以对显示的游戏套用筛选器,包括仅显示您拥有的游戏
* 默认情况下,它不会显示私人/不可加入(正在进行中)的游戏,但是您可以在
游戏检视器萤幕的过滤器部分停用此功能
* 因此,由于它默认不会显示这些游戏,它们现在被排除在应用程式清单画面的计数
之外,以与 LDN 游戏检视器默认显示的游戏数量保持一致
** 这样做是因为,对大多数人来说,私人游戏可能根本不存在。
你需要知道密码才能进入
** 对于无法加入的人也是如此,这些人很可能已经对游戏中的人数感到满意,
并决定继续开始游戏
- Amiibo Window Overhaul
* 主要的改进是,Amiibos 现在显示在左侧停靠栏中的清单中,而所选 Amiibo 的
图像显示在右侧,而不是下拉式选单中
* 此外,“此游戏仅提供 Amiibos”已变得更加清晰,如果未选择任何系列,
它将显示所有可用的 Amiibos
- 一般 UI 改进
* 重新著色的兼容性标签(图像)
* 多个区域中的文字正确对齐
** 热键萤幕中的键盘键(影像)
** 许多区域中的复选框(图片)
* 改进了“设定”中的“使用者接口”选项卡(之前)图像),之后)图像))
- 修复 Avalonia 鼠标驱动程式中的滚动逻辑永远不会为 0
* 如果 100 毫秒内没有滚动事件,也会自动重设为传送 0
- 在启动时向控制台添加了有趣的“Ryubing” ASCII 艺术
- 将以下游戏新增至 Discord RPC 资产图像:
* 空洞骑士:丝之歌
* 超级玛利欧银河
* 超级玛利欧银河 2
* Squeakross:Home Squeak Home
- 更新了相容性清单:
* 额外:
** AKIBA'S TRIP: Hellbound & Debriefed:可玩
** AKIBA'S TRIP: Undead & Undressed Director's Cut:可玩
** 永恒之夜:可玩
** 雷霆任务 2: Remake:可玩
** 雷霆任务 3: Remake:可玩
** High on Life:选单
** IronFall: Invasion:可玩
** 超级玛利欧银河:运作缓慢,AMD GPU Bug
** 超级玛利欧银河 2:运作缓慢,AMD GPU Bug,可能死当
** Prodeus:可玩
** Pokémon Friends:选单、由于 HLE 服务问题导致当机。
** Risk of Rain Returns:可玩
** Shadows of the Damned: Hella Remastered:可玩
** 神领编年史:可玩
** 空战猎鹰:战士版:可玩
** The Legend of Nayuta: Boundless Trails:游戏中
** Turbo Overkill:可玩
** Undead Horde:可玩
** Undead Horde 2:可玩
- 变更:
* 银河联军:阿特拉斯之战 - 数位版:可玩,删除所有标签
** 之前:不行,当机;需要应用更新;HLE 服务问题。
* 毁灭战士 3:新增标签 slow
[模拟]
CPU和内存:
- 内部内存树结构节点现在像炼表节点一样连结
* 事实证明,许多系统需要存取相邻节点,并且每次遍历树都很慢
- 为一些类别新增了物件池
* 有些系统会产生并删除大量对象,导致垃圾收集器运行次数超过必要范围。
现在,这些物件会被池化并重复使用,从而减少分配和释放操作
- 重构 RangeList 和 NonOverlappingRangeList
* 事实证明,大多数使用的系统 RangeList实 际上应该使用
NonOverlappingRangeList,并且切换它们允许程式码使用更有效的重叠查找
* 这些类别现在从 RangeListBase 具有一些常见辅助函数的类别继承
* 更新了 NonOverlappingRangeList FindOverlap/FindOverlaps功 能以提高效率
** 在旧类别中,查找函数会先进行二分查找,找出第一个符合搜寻范围的重叠项
,然后左右遍历内部列表,找到重叠项的列表。
当只有一两个项重叠时,这种方法运作良好,但当重叠项较多时,会导致卡顿
** 新系统使用 BinarySearch 算法来搜寻函数 FindOverlapFast、FindOverlap
和 FindOverlaps(所有 3 种变体)的第一个匹配、
最左边的匹配、最右边的匹配以及最左边和最右边的匹配
** 现在 FindOverlaps 也有 3 种变体:AsSpan、AsArray和AsNodes。
旧函数总是复制重叠项的数组,这对于小型列表来说没问题,
但对于大型列表来说速度较慢。现在,AsSpan如果您只需要快速读取重叠项,
可以使用;如果您 AsNodes 需要快速存取重叠项并进行写入存取(有限制)
,可以使用;如果您需要完全写入存取权限,可以使用旧函数 AsArray
- 更改了一些标志检查以使用二进制逻辑而不是内建 HasFlag 函数
* 事实证明,当您每秒呼叫某个函数数百万次时,几个字节的小分配会随着时间的
推移而累积起来
- 将固定大小的阵列读取为 Span
* 模拟器使用大量固定大小的阵列来模拟 Switch 资料结构,但 C# 没有
(至少以前没有)固定大小的阵列。因此,该模拟器需要自己实现,而且效果很好
* 但需要注意的是,索引器呼叫了AsSpan,并且没有尝试检索或储存任何快取资讯
** 因此,任何时候您在 Ryujinx 固定数组上使用普通数组索引器访问,
它都会创建一个新的 Span。
** 与检查类似 HasFlag,这通常不是什么大问题。然而,当你经常存取数组元素
(模拟器也经常这么做)时,效率就会变得极度低下
* Span 当数组需要存取单一数组中的多个数据时,模拟器现在会快取单一数据,
这稍微提高了效率
* 在播放影片时效果最为明显,因此如果您在播放影片(剪辑场景、介绍等)时遇到
卡顿,现在您可能会获得更流畅的体验
- 较小的程式码更改/改进。
* 有些程式码变得更易读。
* 为了提高效率,对程式码进行了轻微的修改。
[声音]
- rev15增加了对音频渲染的支援。
* 增加了对基于浮点的双二阶滤波器的支援
** 更新后的音讯渲染器使用浮点数,所以我们也必须这样做
** 更新旧系统以使用浮点数而不是短整型数据,旧的音讯修订数据将自动从短
整型数据转换为浮点数据
- 重命名类别和结构以匹配任天堂自己的名称(正在进行中)
* 要嘛是任天堂更新了名称,要嘛是我们从一开始就使用了类似的名称。
* 更改名称是为了使未来的逆向工程工作更容易,因为当 SDK 和 Ryujinx 中的资料
结构之间的名称不符时不会造成混淆
[图形处理器]
- Linux 上的 Intel Arc 也存在 Windows 和 NVIDIA Pre-Turing 上存在的推送描述符
错误
* 它已被添加到中的 HasPushDescriptorsBug 辅助函数中 ShaderCollection.cs。
* 此外,由于 Linux 上的商标缩写是小写的,因此检查 IsIntelArc 已更改为不区分
大小写的检查
[高阶语言学习]
- IApplicationFunctionsCMIF ID 210 的基本事件处理实作
** 我们还不知道这个函数的实际名称是什么,所以它 GetUnknownEvent 在程式码
中被呼叫
** 这就是《空洞骑士:丝之歌》在 Ryubing 中启动所需的全部内容
- 修正了 HID 逻辑中的错误,该错误导致某些游戏因新 SDK 被错误的输入状态资料混淆
而启动循环
[书呆子专区]
- Ryujinx GDB Stub 回归啦,感谢 @coxxs 的贡献!
* 我们有一个指南设置,您可以在这里找到
- 将 LDN 的默认 URL 变更为 ldn.ryujinx.app。这与之前的服务器相同,只是使用了更
官方的网域
[CI/CD]
- 已完全删除从 GitHub 下载更新的支援
- 更新程式逻辑已迁移为使用 UpdateServer 专案的一流客户端库元件
https://git.ryujinx.app/ryubing/ryujinx/-/releases