![](http://tiebapic.baidu.com/forum/w%3D580/sign=889e141f5b178a82ce3c7fa8c601737f/0b3a77ecab64034f72482cd5eac3793108551d9a.jpg?tbpicau=2024-07-05-05_cdeceda13fc7e5278a2e0e3ce2ae1af3)
2022年2月进度报告
由...所写GoldenX86和洪霍亚2022年3月15日
很高兴有你在这里,yuz-ers!这个月,我们自豪地展示了大量的内核更改,这些更改最终修复了长期存在的错误、大规模的性能改进、UI和输入更改等等!
但首先,我们呈现给你的是:一个被大量要求的功能。不是为了yuzu,而是为了我们的文章。
虽然我们试图只讨论主线构建中当前可用的变更,但由于时间限制或延迟,我们有时会列出进度报告发布后几天内将提前访问的拉式请求。
为了获得准确的状态报告,柳树峪实现了悬浮卡,我们作者可以将它添加到拉取请求的链接中。如果您将鼠标放在虚线超链接上,您将能够看到PR的当前状态、标题、编号和合并日期。尝试这里! .
不同的可能状态有:
红色:拉取请求已关闭,它不会是任何构建的一部分
紫色:合并到master,它已经在主线上了,或者最多24小时内(如果我们的buildbot没有在这个过程中死掉的话!)
绿色:拉请求打开,尚未添加到主线,除非它具有mainline-merge标记,检查拉取请求链接进行确认
![](http://tiebapic.baidu.com/forum/w%3D580/sign=ca3136251636acaf59e096f44cd88d03/f0bf468165380cd790fdd7f1fc44ad3458828109.jpg?tbpicau=2024-07-05-05_c7d4493e8894a18ab19c2f47ae7f6f4c)
还有一些,但这三个是最重要的
从现在起,您可以随时回到文章中来查看某个特性是否已经合并到主线中,因为这些卡片会相应地动态更新。请记住,这不是一个立竿见影的过程。在下一个自动构建中,一个合并的拉请求将被添加到主线中,因此可能需要24小时才能看到此站点上的状态更改。
说完了,让我们开始吧!
图形修复,以及如何提高性能
由于Linux上的RADV驱动程序的问题,使用Vulkan API在AMD的RDNA2显卡上运行时会使yuzu崩溃。最值得注意的是,这个问题影响了Steam Deck,正如那些试图在他们的设备上测试yuzu的用户所报告的那样。
据确定,事故发生的原因是VK_EXT_vertex_input_dynamic_state,一个Vulkan扩展,用于最小化着色器编译过程中所需的管道对象数量。这些结构是巨大的,有时,一个游戏可能只想改变其中的一小部分内容,比如顶点输入状态。使用该扩展允许API通过简单的函数调用动态地改变结构中的这些成员,消除了创建全新对象的需要,从而减少了操作所使用的资源量。
当这个错误在上游被解决时,史诗男孩将公共关系推至将分机列入黑名单在RDNA2设备上运行RADV驱动,这样yuzu就不会彻底崩溃。
但是仍然有一名车手对我们有问题。
Mesa在Linux上的ANV驱动不支持纹理格式VK_FORMAT_B5G6R5_UNORM_PACK16,这导致yuzu在运行使用它的游戏时崩溃,例如Bowser's Fury。为了绕过这个问题,虚空石实现了一个模拟BGR565纹理依据重组RGB565格式相反。
同样地,变体实现了缺少顶点格式,标题所用パワプロクンポケットR(动力Pro坤口袋R)。
阿斯卢迪还实施了失踪帧缓冲格式,这次由使用Yo-kai Watch 4.
![](http://tiebapic.baidu.com/forum/w%3D580/sign=3bf0472475381f309e198da199004c67/f09074188618367a7f6b0ac173738bd4b21ce50b.jpg?tbpicau=2024-07-05-05_5e61d7b1e23b560b00890054b917a855)
原来的名字是技术上的妖怪ウォッチ4 ぼくらは同じ空を見上げている(you kai wot chi bokura wa onaji sora wo miageteiru)
该开发者的另一个修复是添加丢失的信号量操作为MaxwellDMA,使用人Legend of Zelda: Breath of the Wild和Pokémon Legends: Arceus.
内核变化,如何驯服Smash
继续内核方面正在进行的工作,邦内有改进了内核内存管理器以使其与最新的系统更新更加兼容。
伴随这些变化而来的一个巧妙的设置是yuzu支持不同内存布局的能力,例如在开发者单元中使用的“6 GB扩展内存布局”(modding社区要求的一个特性)。
一些mod可以利用比开关所能提供的更多的RAM,主要是高分辨率纹理替换。为了解决这个问题,邦内添加了启用扩展6GB内存布局的开关真正的开发者工具包。这些额外的2GB将允许重模块工作没有问题。您可以在中找到设置Emulation > Configure… > General > Extended memory layout (6GB DRAM).