新超级马里奥兄弟 U 豪华版中的 OpenGL 独占回归导致零引用异常崩溃。通过在尝试获取纹理的图层计数之前确保帧缓冲区确实存在,回归已得到修复。
OpenGL 着色器重新编译现在再次采用多线程处理。在 Vulkan 合并之后,OpenGL 在启动时用单个线程重新编译着色器,而不是预期的最大值 8 个!
中央处理器:
CPU重新编译器继续改进,本月见证了一堆新指令的添加,这些指令的名称听起来很复杂,这些名称变得有点模糊。
更多 32 位Thumb指令:
LDM/STM
LDAEX/STLEX
LDR/STR
LDRD/STRD
更多 32 位指令:
SHA256
MRS Rd
第二批是现在最有趣的,似乎无处不在,这是最新的马里奥卡丁车8 Deluxe更新所要求的:2.1.0。作为直接的Wii U端口,马里奥卡丁车8豪华版是为数不多的在32位指令集上运行的值得注意的Switch游戏之一,因此从一开始我们就对其进行了测试。有了这些新的指令,游戏将恢复到一如既往的辉煌。
SHA256指令专门接受了硬件加速处理,并添加了检查以确保指令支持vex编码;没有这个,就有可能进行无效分配。
内核/服务:
虽然Ryujinx目前阻止了与任天堂在线服务的连接,但这并不意味着我们不必与一系列网络的问题作斗争。如果某些应用程序“认为”它们已连接到 Internet,则在启动时会有不同的反应:尝试连接到服务器、调用不同的服务或只是通常很烦人。
考虑到这一点,让我们看一下本月最终确定的几个服务实现:
“加载网络服务许可证金同步”是 精灵宝可梦:阿尔宙斯 在启用访客互联网接入时需要的。游戏仍然有点卡住加载,但一次一个路障,对吧?
“结束自由通信”可以防止某些标题(如《喷射战士 3:试玩版》)在第一个初始屏幕之后崩溃。
“解析器集选项请求”被存根,这允许 危险老鼠 运行游戏。
网络套接字实现中的两个疏忽不是一个,而是两个疏忽得到了解决,最终结果是 我的世界 在来宾互联网被禁用时可以启动。如果启用此设置,游戏仍将崩溃;如果《我的世界》是一款出于某种原因让你对Switch感兴趣的游戏,请记住这一点。
gdkchan还利用 August 广泛优化了内核查找内存块的方式,从链表迁移到红黑树。如果你没有参加过计算机科学课程,那么这些对你来说意义不大,但请放心,新方法的速度要快得多。对于那些已经参加过CS课程的人来说:链表具有O(n)复杂性,而红黑树是O(log n),这意味着在最坏的情况下,新方法在寻找所需的内存块方面效率要高得多。