Emulation News: Yuzu introduces Multicore CPU emulation with Prometheus bringing massive performance boosts in some titles – A PC with a Core i5 4690K & GTX1060 can now emulate Luigi’s Mansion 3 and Fire Emblem 3 Houses pretty well!
Ever since Nintendo Switch emulators, such as Yuzu, started being able to emulate commercial games with decent results, a pretty modern high-end PC was required for an enjoyable experience. However, that has now changed thanks to Prometheus which introduces Multicore CPU emulation in Yuzu!
A look at Prometheus and what it does for Yuzu
Up till now, Yuzu was emulating the Switch’s CPU on just a single thread which resulted in only a single host CPU being used despite the Switch using 3 cores for application and games. Due to this, single-core performance requirements were high and only modern high-end CPUs, such as Intel’s Coffee Lake (and newer) Core i3/5/7 chips, could deliver playable performance in games meaning that various gamers were left out due to inadequate hardware despite their computer not being more than a few years old.
However, with Prometheus, things in the CPU emulation department have just changed drastically with the primary points relating to it the being as follows:
- Yuzu now uses 6 threads instead of 2 during the emulation
- 4 of these are dedicated to emulating the Switch’s CPU
- 2 of these are dedicated to emulating the Switch’s GPU
- As the fourth core of the Switch’s CPU is rarely used, only 5 threads are used considerably
- Prometheus is not just about multi-core CPU emulation but it also aims to ensure that emulated behaviour matches that of the Switch pretty closely by reworking:
- Kernel scheduling
- Boot management
- CPU management
- Development of Prometheus took around 8 months with actual coding starting on the 1st of February as a good amount of time was spent performing brainstorming and research in order to implement the best solution
- Initially multicore cycle timers were going to be used but then host timing was opted for as the former introduced issues in keeping all cores advancing at the same pace despite offering various advantages
- More in-depth information about Prometheus’ development can be found in the post linked below
- Audio may be slower in multicore so it is advised to activate ‘Audio Stretching’ while using the feature. It’s also noted that up to 3GB of extra RAM may be used when enabling multi-core emulation so make sure you have ample RAM installed in your system!
- Multi-core CPU emulation will not result in performance boosts in all games so be aware that it won’t magically allow you to play all Switch games on weaker or older systems!
What does multi-core CPU emulation result in when it comes to real-world results?
In the post on Prometheus (linked below), it was noted that some games, such as Super Mario Odyssey, may not benefit much from multi-core CPU emulation due to the fact that they do most processing on only one core while others such as Zelda BotW are bottlenecked by the emulated GPU but still see some improvements with multi-core CPU emulation.
The emulated GPU is dependent on other factors than just multi-threading such as:
- The CPU’s single-core speed as only a single CPU core translates commands from the emulated Switch’s GPU into commands that the PC’s host GPU can understand
- The bus speed of your GPU
- How good your GPU drivers are together with how high-performing the GPU itself is
Through a good deal of testing, BSoD Gaming was able to come up with the following results on a mid-range PC by today’s standards which is equipped with a Core i5 4690K (quad-core @ 4.2GHz) and a GTX1060:
- Pokemon Sword & Shield now runs at full speed as opposed to 15-20FPS
- Super Smash Bros Ultimate runs at almost a constant 60FPS
- Luigi’s Mansion 3 received massive performance boosts with the game running at or above full-speed at all times
- Fire Emblem 3 Houses runs at full-speed with frame rates regularly 30FPS (what it runs at by default)
- Animal Crossing: New Horizons now works better although it’s not full-speed at all time
- Astral Chain is now playable although there are still some texture corruption issues
- Super Mario Odyssey and Zelda BotW aren’t affected much but there are still some smaller improvements
- Removing the frame limit is not possible when using multi-core CPU emulation so 60FPS patches have to be used for the time being
The above results can be viewed in the video provided at the bottom of this article (direct link).
On a concluding note, Mini vMac 3DS Rewrite 3.0pre1 has been released for the Nintendo 3DS which allows one to emulate a Macintosh Plus or Macintosh II in order to play older Macintosh games from the early-to-mid 68k era. Julius 1.4.0, a Ceasar III port, has also been released for numerous platforms including the PSVita, Switch and desktop OSes.
Yuzu’s post on Prometheus: https://yuzu-emu.org/entry/yuzu-prometheus/
Yuzu’s Patreon for monetary donations and to use Early Access Builds: https://www.patreon.com/yuzuteam
The featured image was taken from the video below as it was included within Yuzu’s post about Prometheus