Yuzu Nintendo Switch Emulator Now Supports Vulkan; AMD and Intel GPUs Get Performance Boost
Yuzu, the Nintendo Switch emulator for PC, has officially added support for the Vulkan API. This is a significant step forward for Yuzu, particularly for users with AMD graphics cards or Intel integrated graphics. Both these cases generally saw performance boosts in games, bringing AMD graphics cards in particular very close to the performance of NVIDIA GPUs.
That is with OpenGL, as NVIDIA hardware currently much prefers OpenGL over Vulkan with the exception of The Legend of Zelda: Link's Awakening and Fire Emblem: Three Houses as you can see below in these new Yuzu benchmarks.
According to the developers of Yuzu, this happens for a good reason. After all, the Nintendo Switch GPU was made by NVIDIA and highly optimized for OpenGL.
Maxwell and Pascal Nvidia GPUs are heavily optimized in hardware for D3D11 and OpenGL software. Since the Nintendo Switch’s GPU is a 2nd generation Maxwell GPU, it comes with additional features like ASTC textures and efficient half-precision float math.
Nvidia’s OpenGL driver is a scary monstrosity, it’s
reallyfast. And to achieve this Nvidia has, over the years, invested resources heavily to make their OpenGL software (the driver) and their hardware really efficient. They have not only optimized their software to be fast for OpenGL, but also their hardware.
Both NVN and OpenGL expose Nvidia’s Maxwell hardware at its greatest. Lots of OpenGL features that are (sometimes wrongly) considered “legacy”, “old”, or even “emulated by the driver” are actually natively supported by the hardware (in the case of Nvidia). The problem arises when Switch games use these features.
Vulkan wasn’t designed with these features in mind. Some of these features were intentionally left out of the standard and the committee does not want to add them (not even as extensions) unless they really have to, or big companies behind CAD software require it. To sum it up, if a Switch game uses
X featuresupported natively by the hardware, and this feature is not available on Vulkan; it has to be emulated with a slower path or not emulated at all in Yuzu.
Vulkan is not the panacea of all evil, then. Plenty of features used in Nintendo Switch games thanks to the NVIDIA Maxwell hardware and OpenGL API aren't natively supported in Vulkan; additionally, the Vulkan renderer currently does not support shader caches or the resolution scaler in Yuzu.
That said, this is nonetheless a meaningful improvement for AMD and Intel users. For now, Vulkan has been made available in 'early access' mode to Yuzu Patreon users, with a public release expected to land later this month.