Major Nintendo Switch Emulator Yuzu Update Triples Metroid Prime Remastered FPS On PC
by
Zak Killian
—
Monday, March 13, 2023, 05:14 PM EDT
The Nintendo Switch is a handheld game console that uses hardware already a year old when it released back in 2017. Considering all that, it should be trivial to emulate on modern PCs, right? Well... no, actually. Not only is emulation surprisingly difficult in general, but even high-level emulation of the Switch is actually rather complicated because the hardware has various features that simply don't exist in modern PCs.
Despite those challenges, the developers of Nintendo Switch emulators have made immense progress in the last couple of years, and the majority of retail games are now playable in applications like Yuzu Emulator. If you own a hackable Switch—required to legally rip copyrighted files—and a game you'd like to see running better than it does on the Switch itself, running it in an emulator is a great choice.
The most recent progress report for Yuzu Emulator is up on the project's blog, and it describes a dizzying array of fixes, improvements, and optimizations made over the last month. Arguably the most notable of these is the implementation of host texture download acceleration, also known as "Accelerate DMA" support. Implemented by Yuzu developer Blinkhawk, the feature lets the GPU handle texture downloads, tremendously alleviating what was a major bottleneck in some titles.
Among those are the just-released Metroid Prime Remastered as well as Super Mario 3D All-Stars, both of which went from "barely-playable" to lightning-quick, with more than 300% performance gains in the latest patch. Those numbers are from the developer's fairly-potent machine, too; systems with slower CPUs are likely to see an even bigger benefit.
This new advanced input panel lets you fine-tune mouse input.
Also, in changes that are highly-relevant to Metroid Prime Remastered, there were huge revisions to the input system for the emulator in the last month. One of the greatest advantages of playing console games in a PC emulator is that you get your pick of input devices. Naturally, people want to play Metroid Prime Remastered on PC using a keyboard and mouse, like a regular FPS game. This is already possible in the original game using a custom fork of Dolphin, but obviously the classic version doesn't look quite as nice as the new revision.
Given the new control setup in the remastered version of the game, it should have been easy to set up Yuzu to play the game this way, but various issues in the input configuration system didn't allow it. Developer german77 got these issues all cleaned up and it should be possible to play Metroid Prime Remastered on Yuzu with both good performance and mouse aiming now.
The side buildings in Pokemon Scarlet/Violet render correctly now.
Those two sets of changes are barely scratching the surface of what the developers accomplished in the past month. Video playback should be smooth even on systems that don't support hardware VP9 decoding now, and games that make use of MSAA now should render correctly in OpenGL. Yoshi's Crafted World and Pokemon Scarlet and Violet should also have major rendering bugs fixed, including a crash bug in the former.
One of the biggest challenges for emulating the Switch on PCs actually has to do with texture decoding. You see, the Tegra X1, like most mobile SoCs, has hardware support for decoding the heavily-compressed ASTC texture format. Unfortunately, almost no desktop GPUs actually do. This means decoding them on the CPU, which can be pretty fast thanks to the high speed of desktop processors, but it's still much slower than a hardware accelerator.
Astral Chain runs notoriously badly on the emulator due to heavy use of big ASTC textures.
To prevent texture decoding from having too much performance impact on gameplay, the developers implemented a hack that allows the emulator to asynchronously decode ASTC textures. This means that the game can keep going without the necessary texture data until it gets decoded by the CPU. It will result in some objects lacking textures briefly, but it should drastically improve the smoothness of gameplay in certain titles, like Astral Chain and Bayonetta 3.
If you're curious about some of the more technical details of the update, or want to know what else was changed, you can head over to Yuzu's blog to read the full thirty-page progress report.