yuzu模拟器吧 关注:176,714贴子:740,617
  • 14回复贴,共1

ryujinx 2022年1月进度报告

只看楼主收藏回复


新的一年,新的一月,新的进步!我们希望每个人都和我们一样享受新年。2022年已经相当冒险了,一个全新的主要系列神奇宝贝标题,神奇宝贝传奇:阿尔宙斯。伴随着这个大发布,我们一直在努力工作,这个月我们已经能够完成大量的GPU更新和bug修复。
帕特里翁目标:
阿米伊博仿真-2021年3月并入主建筑。
虽然兼容性接近完美,但Amiibo仍有一些改进,可以在相关的Github问题上跟踪:https://github.com/Ryujinx/Ryujinx/issues/2122
自定义用户配置文件-2021年4月并入主建筑。
Vulkan GPU后端 - 仍在进行中,一个公共的测试版本已经交付并可用这里.
ARB着色器-目标于2021年4月达成。Vulkan的工作正在进行中,请再等一会儿,直到我们能够将此更新发布到我们满意的状态。
ARB着色器将通过使用OpenGL API提高NVIDIA GPUs上的着色器编译速度,进一步减少第一次运行时的停顿。
2000美元/月-纹理包/替换功能 - 徘徊在这个水平!
这将有助于替换游戏中的图形纹理,从而实现自定义纹理增强、备用控制器按钮图形等等。
ETA乐队一旦目标得以持续:大约3-4周
2500美元/月-一名全职开发人员-快到了!
每月捐款的数额将允许项目的创始人gdkchan全职开发Ryujinx。
5000美元/月-额外全职开发人员-尚未见面
每月捐款的数额将允许一个额外的Ryujinx团队开发人员全职工作于该项目。
所以,事不宜迟,让我们进入这个月的进展!
Vulkan进度:
你们这些人对这部分很感兴趣,不是吗…
好了,事不宜迟,让我们进入一些更有趣的变化,修复和补充Vulkan后端!
最终幻想7在AMD显卡上有一个相当…独特的视觉故障:

如果你有一段时间没有玩FF7了,它看起来不应该是那样的。幸运的是,这包括在我们的修复列表中,仍然是一个小问题,但好多了:

*先搬到这里,有空继续。^_^


IP属地:中国台湾1楼2022-02-23 22:54回复
    (机翻有问题,放原文)
    Professor Layton shared a similar issue:

    Became:

    irect SPIR-V (Vulkan’s shading language) compilation is disabled by default on the main pull request download to make testing easier, but that doesn’t mean it’s been forgotten about in this report! gdkchan has been hard at work fixing a mountain of bugs with the shader backend and it’s starting to pay some handsome dividends.
    SPIR-V shaders are much faster to compile than the GLSL shaders that are currently used on OpenGL. Check out the comparison below (both without any cache):
    OpenGL GLSL Vs. Vulkan SPIR-V:
    视频地址:https://tieba.baidu.com/p/7736932646
    Pretty cool right? It may be worth mentioning that the OpenGL video is using fully multithreaded compile while Vulkan is only using single-threaded compile! That’s the power of SPIR-V and we may have more to share about parallel compile in the next report.
    Breath of the Wild is our first case study. A game lots of more adventurous users were using as a check to see if they had managed to enable SPIR-V due to some, well… easy-to-spot problems!
    Before (spooky):

    After:


    IP属地:中国台湾3楼2022-02-24 20:39
    回复
      不懂贴吧吞楼原理


      IP属地:中国台湾6楼2022-02-24 20:57
      收起回复
        你们都有足够的时间放松一下吗?我们希望您不会太累而无法继续,因为Vulkan之外的生活也引起了一些关注!
        GPU
        Add support for render scale to vertex stage.
        添加对顶点阶段渲染比例的支持。
        游戏可以偶尔在顶点阶段读取textureSize,以通知片段着色器纹理的大小,而无需在那里进行查询。以前,顶点着色器中没有比例来校正大小,所以游戏向片段着色器提供原始的升级纹理大小;这是不正确的行为。这有两个缺点需要注意:一个是片段和顶点支持缓冲区描述必须相同,因此在使用时必须定义完整大小的scales数组。另一个是当使用顶点着色器纹理时,片段纹理计数必须更新。
        修复了在超级马里奥派对和俱乐部会所游戏中导致奇怪的偏移绽放的渲染比例(由于在着色器中做了其他事情,俱乐部会所游戏在许多游戏中仍然有像素化的外观)。这也修正了一个回归问题,如果你升级游戏,比如灾难时代,会出现一些线条假象。
        超级马里奥派对
        之前:

        之后:

        灾难时代的赫鲁勒战士
        之前:

        之后:

        由riperiperi在年实施#2763


        IP属地:中国台湾7楼2022-02-24 21:04
        回复
          机翻暗吞 原文直接删头疼


          IP属地:中国台湾10楼2022-02-25 12:14
          回复
            BotW绘制压缩的3D BCn纹理,用于蓝色溶解传送动画:https://tieba.baidu.com/p/7739295603
            以前,链接会立即消失,因为Ryujinx无法移动该纹理的数据。解决这个问题的变化不是最快的,但它是完全兼容的,并允许我们覆盖以前完全破坏的情况,并在未来的某个时候,允许支持不支持BCn的平台,如移动硬件。
            生活很奇怪:

            BotW:https://tieba.baidu.com/p/7739314775


            IP属地:中国台湾11楼2022-02-25 12:19
            回复
              此,在这相当长的部分之后,让我们一起看一些漂亮的图片。
              你现在需要去朗朗牧场取你的牛奶:

              Splatoon 2不会自己玩,会用彩虹溅满整个地图(不确定这是W还是L):

              我们都在这里学到了一课。我自己现在知道如果你不停地喊“CEMU牛奶水gx2绘制完成”在riperiperi,如果能让你闭嘴,他可能会解决气候危机!在某种程度上,他做到了。Hyrule的水又变干净了。
              由riperiperi在年实施#2971
              Fix sampled multisample texture size
              对于多采样纹理,渲染目标和复制纹理的宽度/高度已经由驱动程序预先倍增。对于池上的着色器采样纹理,它们不会预先倍增。除了允许纹理具有正确的大小(因为传递到后端的TextureCreateInfo具有除以样本数量的宽度和高度)之外,这还会改变它们将其大小乘以多样本大小的方式,以便允许它们匹配缓存上的现有纹理。
              修复了Okami HD上的渲染。
              之前:

              之后:

              gdkchan于#2984实施。


              IP属地:中国台湾12楼2022-02-25 14:24
              回复
                Implement IMUL, PCNT and CONT shader instructions, fix FFMA32I and HFMA32I
                Ryujinx能够运行各种各样的自制应用程序,尽管有些程序可能不如其他程序运行得好。MelonDS,一个任天堂DS模拟器向我们介绍了IMUL,PCNT和CONT shader指令,这是我们以前不知道的,最后两个类似于现有的PBK/BRK和SSY/同步对。在实现这些指令的过程中,FMUL32I指令实现在修改的过程中得到了修复,因此第三个操作数应该使用目标寄存器,而不是“SrcC”,因为它对于此指令来说不存在。HFMA32I也存在与上述问题类似的问题,但指令表中也缺少该问题,因此已对其进行了修复。
                gdkchan于#2972实施
                Fix adjacent 3d texture slices being detected as Incompatible Overlaps
                纹理同步带来的巨大变化是相当大的,但出现了一些问题,导致异刃游戏有奇怪的颜色分级。实际上,大多数切片的渲染3D纹理数据都丢失了。
                由riperiperi在#2993实施
                Fix render target clear when sizes mismatch
                在OpenGL和Vulkan上,当绑定的渲染目标具有不同的大小时,它只在所有大小的交集上进行渲染。在GPU上,这种剪辑由ScreenScissorState寄存器对控制。这个寄存器以前经常被忽略,但是为了清除,如果有不同大小的渲染目标,游戏试图清除其中一个,屏幕剪刀大小与被清除的目标匹配,这可能会导致问题。OpenGL会将其裁剪到最小尺寸,而不会清除整个区域。通过强制解除所有其他渲染目标的绑定,以避免主机剪裁,然后使用从屏幕剪裁和用户剪裁(0)计算的自定义剪裁区域,修复了此问题。
                修正了没有完全清除屏幕的路径。
                之前:

                之后:

                gdkchan于#2994实施
                Add capability for BGRA formats
                这增加了一个名为SupportsBgraFormat的新功能。在OpenGL上,它总是为false,因为API不支持BGRA纹理格式。然而,它将在Vulkan上设置为true,这允许我们在那里使用那些格式,而不需要在片段着色器输出上交换组件。这里的主要目标是减少Vulkan分支和current分支之间的差异,这使得审查更加容易。
                gdkchan于#3011实施
                Stop using glTransformFeedbackVaryings and use explicit layout on the shader
                在任天堂Switch上,当在OpenGL上启用该功能时,有两种方法可以指定应写入转换反馈缓冲区的内容。第一个也是我们当前使用的一个是传递着色器输出的名称,使用glTransformFeedbackVaryings函数编写。较新的方法是使用布局限定符在着色器上直接指定它。这种变化实现了后者。原因是Vulkan只支持后者,Vulkan上没有“TransformFeedbackVaryings”函数来指定着色器外部的信息。事实上,这次修改的代码大部分是从Vulkan分支中提取的。因此,这里的主要优势是减少了与Vulkan和Master的差异,这将使审查更容易,并允许我们在两种API上使用相同的方法。这种新方法的一个限制是,例如,不可能将同一个输出写入多个缓冲区(虽然,可能可以创建多个输出并复制值)。但由于游戏也必须指定变换反馈布局,它们也应该受到相同的限制。
                gdkchan于#3012实施
                Fix deadlock for GPU counter report when 0 draws are done
                任天堂Switch上的一些游戏使用所谓的条件渲染,即如果条件为真或假,游戏将呈现不同的用户界面(UI)标记。有时,Ryujinx上会出现一个罕见的错误,即报告包含0个平局的区域的计数器可能会使GPU死锁。如果这个写操作与跟踪操作重叠,那么GPU可能会停止等待它将来要做的事情,所以它会被卡住。以前,它会立即报告并将结果从后端线程写入客户内存(被跟踪)。当后端线程启用时,后端线程不能触发等待GPU的读取操作,因为它可能会等待自己,永远不会前进。在后端多线程的同步映射的情况下,它将尝试等待尚不完全存在的后端同步对象,因为根据GPU和跟踪,同步对象将存在,但它尚未由后端创建。修复方法是像任何其他事件一样对0 draw事件进行排队,它的_bufferMap值被强制为0,它将与计数器队列中的其他事件一起刷新。这修正了超级马里奥奥德赛,马里奥赛车8,Splatoon 2等游戏的条件渲染问题
                由riperiperi在#3019实施
                Add support for BC1/2/3 decompression (for 3D textures)
                ginormous纹理同步更新增加了对使用不支持的压缩格式的不兼容重叠的刷新支持。但是,仅支持BC4和BC5压缩格式。这扩展了它,以支持BC1,BC2和BC3格式。这修复了在OpenGL上使用3D纹理格式的游戏中损坏的纹理。Vulkan没有这个问题,因为它支持3D压缩格式。其他更改包括,添加了新的“Supports3DTextureCompression”功能,在OpenGL上始终为false,但在Vulkan上应设置为true,更改了GpuContext上的Capabilities属性以返回struct ref以避免复制,还将Capabilities struct属性更改为readonly字段,也是为了避免复制。
                删除了Bc1Rgb格式。它们没有被使用(事实上它们是非常无用的,因为在RGB和RGBA变量之间没有区别,除了alpha分量被忽略(可以通过将swizzle上的alpha设置为1来完成))最后,优化现有的BC4和BC5解压缩器。这里BC4大约快2.5倍,而BC5大约快2.1倍(使用随机生成的256x256x2 3D纹理进行测试)。
                修正了维斯佩里亚传说中的文字。
                之前:

                之后:


                IP属地:中国台湾13楼2022-02-25 14:31
                回复
                  第三次吞


                  IP属地:中国台湾17楼2022-02-25 14:50
                  回复
                    自从我们谈论Avalonia的UI重写已经有一段时间了,但是我们想向每个人保证,进展仍然很强劲,甚至有时间让它变得相当花哨!



                    我们要感谢每个人一直以来的支持,我们希望下个月能带给你更多的(实时)八卦!


                    IP属地:中国台湾18楼2022-02-25 14:52
                    回复
                      ryujinx玩switch的塞尔达旷野之息,
                      刚开始玩,还没有拿到滑翔伞,在第三个神殿出来(拿到时间静止的能力后),动两三分钟就闪退,
                      再次加载还是一样,2~3分钟就闪退,
                      换了两个塞尔达,不论xci还是nsp格式的游戏,都一样情况,
                      怎么解决?
                      用的这几个
                      ryujinx-1.1.53-win_x64
                      Firmware+13.2.1
                      Saierdachuanshuo [v1.6.0+2DLC][01007EF00011E000][US][v786432].xci


                      IP属地:广东20楼2022-02-25 20:54
                      收起回复
                        有下载链接吗


                        IP属地:广东来自iPhone客户端21楼2022-03-04 16:52
                        回复