Yuzu, the Nintendo Switch Emulator, Just Got Updated to Use 50% Less RAM
Yuzu, the Nintendo Switch emulator on PC, continues to be developed at neckbreaking pace. The latest improvement revealed only a few hours ago promises to essentially cut the emulator's RAM usage in half, thanks to a complete rewrite of yuzu's memory management code.
This was accomplished by rewriting yuzu’s Virtual Memory Manager (VMM), the software component that allocates, maps, and frees memory that Switch games use. This is a part of the emulator that uses High Level Emulation (HLE) to replicate functionality of the Switch’s "Horizon" Operating System. Previously, yuzu used a rather simplified approach to the VMM, based on Citra 3DS Emulator. Citra’s approach has served us well in getting the emulator working, but it was really designed for a much simpler system that did not scale to the needs of Switch.
In short, this old implementation would arbitrarily allocate and map host (your PC) memory on the fly, without respecting the guest (Nintendo Switch) memory layout. This could result in run-away host memory allocations that were never actually possible on a real Switch.
With the new VMM implementation, we now more accurately implement and respect Switch’s memory layout. As a result, emulation should in general not exceed Switch’s 4GB of dedicated RAM, with the exception of games that eat memory for other purposes (for example, GPU, audio, and OS emulation may still push the emulator beyond this). That being said, you may now expect games to use 2GB to 4GB of RAM on average, rather than double that!
The developers of Yuzu also shared some impressive benchmarks, as you can see below.
This update is already live on the early access build, which is accessible by pledging at least $5 per month on Patreon.
Additionally, the creators of Yuzu teased that another big emulator improvement tied to the new virtual memory management (VMM) could materialize soon. We'll let you know when it does.