《迷你世界》2022年3月9日最新激活码,
Switch模拟器Ryujinx进度报告2022-9月
Switch模拟器Ryujinx进度报告2022-9月
我们今年刚刚达成75%的目标。
这个月,喷射战士 3发布。随着假日的临近,这意味着大量游戏的发布,还有即将推出的精灵宝可梦游戏!
在我们深入探讨 Ryujinx 在 2022 年 9 月的旅程之前,让我们花点时间回顾一下我们的 patreon 目标和激励措施。提醒一下,这些功能不会付费;无论如何,下面提到的所有功能都将最终实现。但是,如果达到目标,则优先级将立刻转移到实现该功能上。
目标分析:
ARB 着色器 - 目标已于 2021 年 4 月实现。
工作正在进行中,请再等一会儿,直到我们能够将此更新交付到我们满意的状态。
ARB 着色器将使用 OpenGL API 提高 NVIDIA GPU 上的着色器编译速度,从而进一步减少首次运行时的卡顿。
$ 2000 /月 - 纹理包/更换功能 - 即将接近!
这将有助于替换游戏中的图形纹理,从而实现自定义纹理增强、备用控制器按钮图形等。
一旦目标持续,预计到达时间:约3-4周
$ 2500 /月 - 一名全职开发人员 - 尚未满足。
每月的这笔捐款将使该项目的创始人gdkchan能够全职开发Ryujinx。我们所有的贡献者目前只在业余时间从事项目工作!
$ 5000 /月 - 其他全职开发人员 - 尚未满足。
每月的这笔捐款将允许额外的Ryujinx团队开发人员全职从事该项目。
3....2....1....开始!
显卡:
毫不奇怪,本月最大的GPU变化涉及三个项目,这些项目组合在一起,对Ryujinx的模拟器来说相对较新:Vulkan,AMD GPU和 喷射战士 3。在发布时,许多人对游戏的渲染和播放效果感到满意,但这是只有NVIDIA GPU才能获得的荣耀。Vulkan期望某些顶点属性以特定的方式排序,如果游戏传递未对齐的元素,那么这可能会导致对未来顶点的混乱连锁反应。通过添加一种方法来在绑定顶点缓冲区之前更改其步幅,我们可以避免此问题并使 Vulkan 达到满意。对于AMD用户来说,这是个好消息。
然而,并非所有问题都需要打破游戏规则才能引人注目,而 喷射战士 3本月给我们带来了一个相当有趣的错误,一些联机用户很快注意到评分系统似乎在给某些队伍一些坦率的离谱分数。
事实证明,由于在Splatoon中得分的独特方式(您拥有的地图覆盖率),高于本机的分辨率缩放值实际上导致游戏认为油漆覆盖的像素比原来多。这很快变成了联机服务器上的GPU军备竞赛,看看谁能在“修复”下降之前获得历史世界纪录。Funnier仍然在向相反的方向扩展,分辨率低于本机,这使得它实际上无法在任何墨水中游泳,从而完全破坏了许多用户的大部分游戏玩法。通过根据分辨率缩放样本计数器,这两个错误都得到了解决!
在九月份有几个错误回归,其中第一个是解决Fate/EXTELLA中的一个错误,其中所有背景都停止渲染,只是呈现出一个黑色的空白。在将问题缩小到纹理类型之间的破损之后,这个问题已经在OpenGL中得到了解决,并为Vulkan提供了一个单独的修复程序,很快就会跟进。
马里奥派对超级巨星最近也遭受了打击,聚光灯游泳迷你游戏的渲染受到了打击。特别是红色聚光灯似乎正在将其表面照明切成两半。这是一个真正的故障,因为它根本不影响游戏中的其他两个聚光灯。经过一番挖掘,它被追溯到之前对着色器特有的优化,以及如果添加格式更改纹理,则快速修复重新绑定纹理。
一些标题似乎“更喜欢”一个主机图形API或另一个主机图形API,以获得渲染准确性,性能或仅传统硬件兼容性。在表现方面,有几场比赛在Vulkan的表现比在OpenGL上差得多。虽然我们将继续重申,Vulkan不是解决阳光下所有问题的武器,也不一定比OpenGL本质上更快,但这些游戏的性能下降幅度足以被认为是异常的。与许多最常报告的问题一样,这一切都始于精灵宝可梦:特别是剑与盾,在最近的更改之前,使用Vulkan的性能下降了20%。对于AMD和英特尔用户来说,这很沉重,他们可能一直徘徊在低于全速20%的地方,但却没有高性能的OpenGL驱动程序进行替换。
那么,是什么导致了性能的巨大差异,我们如何解决它呢?实际上,这一切都始于Nvidia OpenGL驱动程序,因为正如模拟历史中多次证明的那样,它非常聪明。Nvidia OpenGL 驱动程序具有内置机制,可在队列变大时将命令直接刷新到 GPU,虽然不一致,但在经常发生这些刷新的游戏中效果非常好。像往常一样,Vulkan没有从驱动程序中获得这种特殊处理,因此此处选择的解决方案是定期手动刷新命令,以减少GPU<>CPU延迟,并使我们等待刷新的时间更小,更一致。
以上是几个受益于刷新变化的游戏表格。剑/盾受益最大,但即使是荒野之息也能沾了一点光。剑/盾的瓶颈是等待主GPU线程在GPU上花费的时间;与此同时,“荒野之息”看到从其他来宾线程等待GPU所花费的时间减少了。
继续讨论Vulkan改进的主题:R4G4B4A4格式的某些组件顺序不正确,并且与背景和文本框一起引起各种恶作剧。纠正这种顺序可以管理诸如 伊苏 VIII:达娜的安魂曲和夜空中的呼啸等游戏中的错误显示。
让我们通过一些快速的改变来保持Vulkan的运行:
如果禁用混合,则混合状态现在归零。这减少了 AMD 和英特尔 GPU 上的管道卡顿。在这种情况下,Nvidia驱动程序已经非常宽容地处理了管道丢失。
四边形现在在Vulkan转换为三角形。由于 Vulkan 没有本机主机四元组支持,我们之前对每四次四边形进行一次绘制的方法比允许 Vulkan 渲染它擅长的内容要低得多。三角形!
如果主机 GPU 不支持,则窗口索引将不再在 SPIR-V 上输出。这允许可能不符合最新Vulkan规范的旧GPU播放一些以前会在启动时崩溃的游戏,包括任天堂明星大乱斗终极版。
在更明显的变化上,即使在Vulkan长达一年的测试阶段之后,镶嵌也存在一些明显的问题。然而,由于最近发行的《英雄传说:零之踪迹》,这个话题重新回到了每个人的脑海中,更具体地说,又回到了我们的Discord频道中。正如你所看到的,这可能不是开发商日本Falcom想要的沉浸式游戏体验。
然而,这确实正是我们所怀疑的:镶嵌再次袭来。幸运的是,通过修复一大堆错误的假设和其他与SPIR-V相关的错误步骤,一些游戏中的曲面细分问题已经得到解决,它们现在应该可以准确地呈现。
由于伊苏游戏在本报告中似乎很受欢迎,我们为什么不再加入一个呢?伊苏 VIII有点令人失望,因为用户看到了各种各样的渲染奇怪现象。有时它有效,有时它不起作用,有时它只是呈现文本框。很烦人。值得庆幸的是,游戏一直被破坏,即使是以很小的方式,以至于重现错误并因此找到原因并不像其他“随机”问题那样痛苦。通过在某些情况下将着色器 LDC 转换为恒定缓冲区访问,我们可以允许在这种情况下激活无绑定消除。
9 月还修复了《狙击精英 3》早期介绍过场动画的崩溃问题,因为它允许使用来自未绑定缓冲区的手柄的无绑定纹理。如果这是很多词,那么请允许我简化一下:游戏做奇怪的事情=游戏崩溃,游戏仍然在做奇怪的事情=现在游戏没有崩溃。在这些极端之间的某个地方,我们相信每个人都被覆盖了内部 vsync 信号(不,不是您想到的屏幕撕裂信号)也在 9 月份更改为精确到 16.667 毫秒的信号,而不仅仅是使用 Ryujinx 的交换间隔。这解决了东京幻影会话#FE Encore中的一个问题,当对同步时序慢慢偏离音频通道时,音频会在过场动画中缓慢地不同步。
限制九月份的GPU部分将引导我们整齐地进入CPU部分,因为这个最终的更改与我们稍后将讨论的其他事情协同工作,以修复几个32位游戏中的渲染。1D和缓冲区纹理在着色器上使用完全相同的纹理指令,因此我们需要直接从GPU状态获取实际纹理,这对于Prinny来说变得 普利尼:我当主角行吗?和 普利尼2:特攻游戏晓之内裤大作战。 通过解决假定 1D 纹理为缓冲区的情况,这些游戏可以开始正确渲染。
显然还不太对,是吧?让我们来解决这个问题。
中央处理器:
并非所有图形错误都与GPU仿真有关,本月Ryujinx的CPU仿真取得了巨大进展。如上所述,我们将从一项更改开始,该更改与后一个GPU修复相结合,解决了32位游戏中的许多渲染问题。
由于 VLDn 和 VSTn 的原始 CPU 测试中的疏忽,这些指令实际上并未在所有模式下得到准确测试。修复此问题会发现由不正确的寄存器值导致的几个故障点,进而导致其他值从不正确的寄存器位置提取或发送到不正确的寄存器位置。解决这种不正确的寄存器增量值可以修复各种32位错误,它需要一个完整的列表。
作为这里的锚点的两个普利尼游戏当然被这个变化修复了:
但与所有最好的变化一样,它的影响要大得多。以下标题现在渲染或修复了一些主要的图形错误:
英雄不再:
英雄不再 2: 垂死挣扎:
查理的天线和一系列其他图形效果现在可以在《皮克敏3:豪华版》中正确渲染。
这一变化还解决了以下游戏中音质极差的问题:《二之国》、《双截龙:霓虹》和《搏击长空:风暴突击队》。
如果我们没有列出ARMeilleure现在可以处理的每个新指令,它会是一个进度报告CPU部分吗?不,它不会。
如果您还没有猜到,在过去的几个月里,由于大多数Switch游戏都是64位的,因此它是迄今为止我们重新编译器中最薄弱的领域,因此已经看到了32位的焦点。但是,与任天堂Switch的所有事情一样,如果您让开发人员选择做奇怪的事情,他们会做奇怪的事情。因此,相当多的Switch游戏(通常是某种类型的端口)选择32位选项,如果重新编译器中没有容纳它们所需的指令,可能会让我们头疼。
好吧,那么有什么新东西,它有什么作用?
VRSRA,VRSHRN,VQSHRUN,VQMOVN,VQOVUN,VQADD,VQSUB,VRHADD,VPADDL,VSUBL,VQDMULH和VMLAL Arm32 NEON已经实现,并允许任天堂开关,博德之门,星球大战:共和国突击队的所有开头可进游戏。
实现了添加(zx imm12),NOP,移动视频(rs),低密度脂达,TBB,TBH,移动(zx imm16)和CLZ拇指指令,并允许Vita2HOS自制程序在其最新版本上再次运行。
实现了拇指(32位)内存(有序),乘法,扩展和位域指令,并允许一些Vita应用程序在Vita2HOS下进一步发展。
T32 Vfp指令被实现,并允许一些维塔自制软件开始在Vita2HOS下渲染。
VRINT(矢量)Arm32 NEON指令已经实现,如果您提供保存文件(否则需要Web小程序),则允许二之国一开始可以运行。
T32 Asimd指令得以实现,允许Vita自制软件(如CHIP-8模拟器)启动和渲染。这个实际上非常酷,因为最终的场景本质上是一台模拟任天堂开关的PC,它正在运行一个自制翻译层,该层正在运行PS Vita CHIP-8模拟器,模拟突破!
T32 上的 PLD 和 SUB (imm16),以及 A32 和 T32 指令上的 UADD8、SADD8、USUB8 和 SSUB8,再次允许 Vita2HOS 的更一般功能运行,尽管有些游戏可能会使用它们。
A32 / T32 / A64提示指令(CSDB,SEV,SEVL,WFE,WFI,YIELD)被实现为Nops(无所事事),以避免二之国:白色圣灰的女王,等游戏中的意外行为和崩溃。
一些不同的人投入了大量的工作,在如此短的时间内敲掉了这么多的新指令,甚至没有带走其他领域的进展,因为我们已经介绍了GPU仿真收到的广泛变化。我们现在在32位游戏,自制程序和Switch->PS Vita翻译层方面处于一个更好的位置!最后一个可能看起来很小众,但像Vita2HOS这样的项目确实抓住了想象力。
经过近一年的炼狱,rejit队列的清理被合并,这使得代码库该部分的维护变得更加容易,并预示着Ryujinx的原始CPU开发人员之一的浪子回归,如果您喜欢游戏内视频全速播放,他带来了一些出色的进展。LDj3SNuD 在 9 月份的第一个呼叫端口是实现软回退类的饱和 ShlReg 区域的一些托管方法。您不需要知道这其中任何一个意味着什么,但这种效果在视频播放中具有相当大的变革性。
《异界锁链》在游戏的某些领域取得了巨大的性能提升,因为预先录制的视频与总部大厅等地方的正常游戏渲染共存。我们看到介绍从i7-10700K的23FPS->100FPS,大厅从30FPS->43FPS。
不满足于此,对Fpsr / Fpcr指令的处理和隔离进行了一些额外的更改,进一步改进了全动态视频的播放。这些改进在托尼·霍克职业滑板1+2等游戏中最为明显,其介绍是在低端硬件上要求极高的FMV。
图形用户界面:
关于本月的 GUI 开发,有相对较少的事情要说,但其中一件重要的事情足以配得上这一节。如果你已经关注这些进度报告一段时间了,那么你就会知道,我们正在尝试从 GTK3(通过 C# 绑定)切换到名为 Avalonia 的本机 C# UI 框架。自从这段旅程开始以来已经有一段时间了,有时感觉就像是向前走了两步,朝着一个随机的方向迈出了一步。其中之一是在所谓的“渲染窗口”中;这是GUI中包含OpenGL或Vulkan渲染器的部分,实际上向您呈现正在运行的游戏,应用程序或自制程序。
以红色突出显示的区域引起了不止一次头痛,并且今年已经进行了几次修订。GTK目前将此区域作为嵌入式窗口处理,这意味着实际上有第二个“子”窗口只是直接嵌入到另一个单独的窗口中,该窗口容纳了GUI的其余部分。这允许对渲染进行完全精细的控制,并且意味着渲染窗口不会直接绑定到与 GUI 相同的更新周期,这对于调整大小和拖动窗口等任务来说是一件好事。
我们的Avalonia实现的第一次迭代也做到了这一点。但是我们很快就注意到Windows上有一些奇怪的奇怪之处,包括“子”渲染窗口与GUI“父”窗口具有单独的焦点。例如,如果您单击游戏,它将取消选择主窗口并破坏诸如热键和特定于焦点的操作之类的内容。不理想。因此,在2021年和2022年期间探索了其他选项,最终实现了渲染窗口,而不是渲染层,显示为主窗口的一部分。这似乎是解决方案,因为它解决了焦点问题,并允许GUI和游戏在热键和键盘导航等关键领域完全同步。然而,这带来了一些重大的代价。
1.由于渲染现在是父窗口的一部分,这意味着整个 GUI 必须进行硬件渲染。这使得在不重新启动整个应用程序的情况下切换GPU或图形后端是不可能的。
2.由于上述限制,现在游戏和GUI之间没有区别。这给叠加层、录制软件和其他与图形 API 挂钩的基准测试工具造成了严重破坏。大多数会提供GUI本身的记录或性能统计信息,而不是游戏,因为没有办法区分。
3.由于 UI 现在由 Avalonia 层渲染,我们实际上已经失去了对核心渲染和呈现过程的一些控制。帧节奏在许多游戏中都受到了重大打击,在解决此问题之前,许多用户对新的Avalonia UI的担忧是可以理解的。
关于如何最好地解决这个问题,已经有很多来回。建议的解决方案范围从简单地使用弹出窗口(类似于Dolphin)一直到可能针对我们的特定用例在Avalona项目框架本身中实现一些东西。这些似乎都不切实际,也没有我们的用户对所谓的“升级”感到满意的解决方案。
所以。我们是否又回到了原点?是的!本月在通过嵌入式窗口回归我们的根源方面出现了第二次裂缝,我们很高兴地说,这是一个巨大的成功。父窗口和子窗口之间的交互这次不会导致焦点问题,并且随着完全呈现控件的返回,出现了更好的叠加支持和与 GTK 相当的演示体验。我没有提到它还删除了3500多行代码,而只需要添加800行代码,简化且更好。
本月合并了一些错误和UX改进的一般整理,包括一些字体更改,边框添加和对齐修复,这应该有望使事情不那么中心或浮动。
虽然从技术上讲,这是10月份的更改,但我们很高兴地注意到,更新程序现在可以在Avalonia版本上正常运行,这意味着任何希望“beta测试”新UI的人都可以通过完全自我更新的版本来执行此操作。转到我们的GitHub版本页面,如果您想给操作系统一个旋风,请选择适用于您的操作系统的“test-ava”版本。
内核/服务:
为了结束一个最富有成效的九月,让我们沿着我们的内核和服务仿真到达我们这里的道路走一走。
主要目标是继续在我们的网络和BSD服务上工作,因为它们影响了大量的游戏,即使我们不直接连接到任何真正的任天堂服务器。修复了在启用访客互联网的情况下启动 Victor Vran Overkill 版本时的空引用异常,并解决了导致套接字返回错误结果代码的小疏忽。在此之后,套接字用于轮询的方法得到了改进,并且为了完整性,SendMMsg/接收 Mmsg 都在 bsd 服务中实现。
将多个标题打包到单个可执行文件中的游戏(想想超级马里奥3D全明星或其他一些游戏集合)在捆绑的应用程序之间移动时会做一些相当奇怪的事情。其中一个标题是普林尼呈现NIS经典第3卷:拉普塞勒:拉格纳罗克/狂想曲:音乐冒险,当它过渡到一个实际游戏时,它需要当前用户的列表。以前,执行此操作所需的服务是存根的,因此返回空列表,从而导致崩溃。通过正确实现列表打开上下文存储用户服务并存根 LoadOpenContext,此标题以及可能具有类似问题的其他标题将在游戏中出现。
本月对占位符管理器树查找的优化已实现,其主要目的是允许执行大量内存映射的游戏更快地关闭。以前像《女神转生V》这样的游戏需要相当长的时间才能完成:
再快速射击一轮,直到我们完成:
现在为音频呈现器分配了工作缓冲区,而不是使用来宾提供的内存。这修复了《搞怪特技摩托》和《突变元年:伊甸园之路》中的崩溃问题,在处理音频渲染器之前,所需的内存将被取消映射。
在 sfdnres 套接字服务中修复了字节序,以防止在端口序列化期间出现问题。
解决了部分取消映射保护的回归,这导致《任天堂明星大乱斗终极版》中的文本无法正确呈现。
修复了证书 ID 设置为“全部”时 SSL 获取证书调用中的错误。这允许《奇异人生:重制版》启动。
结束语:
这就是这次的一切!我们正在向2022年底迈进,这意味着我们越来越接近另一个精灵宝可梦的发布;我们所有人的噩梦燃料。但是,在相关主题上,我们计划比预期更早地发布新的LDN版本,这要归功于本报告中列出的一些Splatoon 3错误对于良好的LDN游戏至关重要;特别是对于使用 AMD 显卡的用户。我们还不能提供ETA,但请放心,它不会像上一个版本中看到的延迟那样持续很多个月。
如果你是一只热心的朋友,并关注有关Ryujinx的所有新闻,那么你可能已经看到我们的首席开发人员gdkchan在linuxgamingcentral上对该项目进行了简短的采访(如果你还没有这样做,请查看它)。正如gdk所提到的,确实有一个小小的惊喜酝酿,我们希望能够在未来几个月内告诉你更多关于它的信息。在这些博客文章中,它还没有准备好进行公开讨论,但我们保证您不会失望!
最后,这是向任何有软件开发背景,对仿真/ 3D图形感兴趣的人或任何认为他们可以为我们当前提供的软件包做出任何贡献的人的通常销售宣传。核心仿真,Web开发,GUI和UX改进一直到简单的代码清理都是使模拟器可行的领域。如果没有慷慨的人对这个领域感兴趣,并将一些时间奉献给我们互联网的有趣角落,我们就不会有今天的成就。我们总是在我们的GitHub上提供服务!
期待我们下个月的报告吧!
-
《迷你世界》2022年3月9日最新激活码, 2023-10-05
-
《迷你世界》2022年3月8日最新激活码, 2023-10-05
-
《迷你世界》2022年3月6日最新激活码, 2023-10-05
-
《迷你世界》2022年3月5日礼包兑换码 3月5日激活码, 2023-10-05
-
《迷你世界》2022年3月5日最新激活码, 2023-10-05
-
《迷你世界》2022年3月4日最新激活码分享, 2023-10-05
-
《迷你世界》2022年3月3日最新激活码, 2023-10-05
-
《迷你世界》2022年3月27日最新激活码, 2023-10-05
-
《迷你世界》2022年3月26日最新激活码, 2023-10-05
-
《迷你世界》2022年3月13日最新激活码, 2023-10-05