就像每个月一样,Yuzu团队总结了他们的Switch模拟器的发展,简单地命名为Yuzu,上个月又有很多。
它通常在每月中旬发布报告,让您了解改进、新功能以及团队资源的去向,这是一种告知用户和继续支持项目的人的好方法。
因此,该团队宣布已经带来了大量的GPU修复,对新applet的支持,大量致力于Android版本的工作,以及关于未来的有趣消息。
GPU吗?
在《超级马里奥兄弟奇迹》的某些地方进行了优化,特别是在双倍和三重缓冲的垂直同步之间的内部切换。上个月对GPU管理进行了许多更改。当游戏使用深度缓冲时,它通常会从加载的3D场景中绘制图像,同时利用称为深度测试的硬件加速过程。
在深度测试期间,GPU硬件确定一个像素是否可见或被另一个像素隐藏(遮挡)。这是由它们的深度值决定的。深度缓冲区跟踪每个存储像素与相机之间的距离。如果渲染的像素比已经在舞台上绘制的像素更远,则该像素被忽略;如果它更接近,则保留它并更新颜色缓冲区。通常,深度缓冲区也被更新和写入,在这种情况下,存储新的更接近对象的深度。
对于游戏来说,只使用深度测试并禁用对特定元素的深度缓冲区的实际写入是有可能的,许多游戏在渲染部分透明的对象时都会这样做。然而,像Vulkan这样的图形api却不允许这样做:硬件设计需要启用深度测试才能更新深度缓冲区。Yuzu的深度/模板缓冲区的隐藏清晰路径有一个更新深度缓冲区的着色器,因此允许深度写入,但也忘记启用深度测试。大多数情况下,这是一种巧合,因为游戏允许进行大量测试,Yuzu不会脱离这种状态。然而,并非所有游戏都允许这样做,如果没有深度测试,像《超级马里奥64》或《超级马里奥3D全明星》这样的游戏就无法正确渲染马里奥的脸。
这涉及到开发人员Maide的工作,他也是Vulkan Memory Allocator标准(简称VMA)优化的幕后推手,这就是他如何帮助清理代码,但他也修复了缓存,分辨率缩放,图像调整大小的问题,甚至发现了着色器计算在触发缓冲区缓存中的无效时的问题。简而言之,他做了一件大事。
安卓吗?
Android版本已经有了很大的改进,必须说它已经看到了许多修改,特别是改善了用户体验和与设备的兼容性。为此,开发了一种新的GPU驱动管理器。
崩溃问题已经解决,只有在旋转设备时才会发生,Vulkan 1.1相关的问题,特别是在Adreno 600和700上出现的问题也得到了纠正。
已经实现了一个接收网格,并且为了限制冻结,已经分离了某些内存线程。
最后,现在集成了一个名为“Cabinet”的小程序菜单,允许访问相册和Mii编辑器,或者允许管理Amiibo数据的应用程序。
用户界面?
对于Windows的特殊支持已经提供,在一个困难的开始之后,一些功能已经集成,比如快捷键允许你把你的游戏直接放在桌面上或开始菜单。还需要创建图标格式和鼠标管理。具体来说,比如截图,但他们不能看到所有内容,开发者花了很多时间打开和关闭yuzu,而byte[]只能准确地测量出10%由游戏引起的关闭崩溃。
有什么变化吗?
是的,特别是在AMD方面,北极星和织女星,老一代将离开AMD的支持,驱动程序现在分成两部分,GCN架构的最后两个痕迹即将被抛弃。与RDNA和较新的硬件相比,这些产品运行过时的Vulkan驱动程序分支。AMDVLK的消息,官方AMD Linux驱动程序,取消对这些产品的支持意味着没有新的Vulkan驱动程序可用。我们必须准备释放对这几代人的支持。
针对Android设备的Nice项目,NCE(原生代码执行)进展非常顺利,但仍有一些漏洞需要修复。游戏不仅变得可玩,而且在散热受限的设备上运行速度更快。此外,加载和关闭游戏的时间也大大减少了!NCE还帮助理解了x86_64中的CPU仿真问题,因此可以预期在这两方面都有所收获。
总之,我们看到Yuzu团队所做的工作仍然令人印象深刻,因为大学作业和考试耽误了月报的发布,在此表示歉意。
完整的报告可在这里找到: