Yuzu, the Nintendo Switch emulator, got a new early access release this week. The project has been slowly getting new features and better support over the last few months, but this latest patch is a gamechanger. The newest EA version of Yuzu, codename Prometheus, will finally enable support for multicore CPUs. This when combined with other updates offers much better performance.
The developers have previously submitted code changes to drastically reduce RAM usage. This should cut down on the overhead of emulation and open up better performance for more interested users.
If you want the full details, check out the announcement from the Yuzu team. We included the important bit below:
Prometheus is the internal codename for this feature’s development and it is a total rework of three things:
- Kernel scheduling
- Boot management
- CPU management
Prometheus aims to ensure that emulation behaves the same as on the Switch while matching the code with the Switch’s original OS code. And, as a by-product, host multicore support using host timing has been added to yuzu. Host timing is just yuzu using the host’s (user’s) internal clock for timing.
The multicore feature of Prometheus is a beast in terms of thread handling. Originally yuzu used at best 2 threads: one for the CPU and one for the emulated GPU. Technically we also use a thread each for the UI, logging, the host GPU driver, and the host audio driver, but let’s ignore them for the time being.
With multicore, there are now 6 threads in use: four for the CPU, one for the timer, and one for the emulated GPU. It is worth noting that CPU core 4 is rarely used. Of these 6, effectively 5 threads have considerable use but not all will be running constantly.
Still Hurdles Ahead
The problem is that the games themselves are the next barrier to better performance. Many games on the Switch are not natively programmed to handle more than a single CPU core. The games likely won’t be patched to enable this support officially, as it would make emulation and thus piracy way too easy. The workaround is that the modders and other volunteers working on emulation will have to create a software solution to force the game processes onto multiple threads. This will mean that future versions of Yuzu will have better optimization. The changes will vary by game though, expect the most popular titles to get the best support.
The developers of Yuzu also warned users of two other ongoing issues. One major problem is that the RAM usage could spike much higher than normal in multicore mode, as the emulator has to swap data between cores using RAM. Some users might see spikes from 100 MB to 3 GB depending on the game.
The other ongoing problem is that audio could be wonky for a bit. Even with Audio Stretching added for some games to reduce lag, there could be a noticeable delay in audio for many games, especially more graphically intense ones.
Various outlets, like BSoD Gaming on YouTube, have taken to testing the new software patch, revealing some pretty interesting improvements. Check out their video below for more details.