Listen, we loved Zelda: Link's Awakening on Switch. It updates the original game brilliantly, taking the core premise and wrapping it in a lovely, modern sheen that will make it more palatable for modern gamers. However, despite its obvious quality, the game suffers from some worrying performance problems, with the frame rate rising and falling like the tides.
Keen to find out why, Digital Foundry's Richard Leadbetter decided to put the game through some rigorous tests with the aim of getting to the bottom of the quandary. According to Leadbetter, Link's Awakening fluctuates between 60fps and 30fps, but changes in frame rate happen in odd places:
The overworld presents the lion's share of the performance issues - just leaving the initial hut causes a sudden drop in frame-rate, for little discernible reason. Basic traversal causes minor stutter as we move around the initial beach locale, and more serious drops when transitioning between more significant areas of the map - like entering or exiting the Mysterious Forest, for example. What's curious here is that the stutter is fleeting - within a couple of seconds, we're back to 60fps.
To solve the issue, Leadbetter resorted to upping the speed and adding more power. Link's Awakening runs at the 'standard' Switch clock speeds of 1020MHz CPU and 768MHz GPU (docked), while the graphics core drops to 384MHz when the system is played in its portable setup. However, an 'exploited' Switch can be manually overclocked to push video processing all the way up to 921MHz, while the ARM Cortex A57s can be pushed to 1785MHz.
You'd think all that additional grunt would solve the game's patchy performance, but you'd be wrong:
As the graphics content can remain almost completely unchanged during traversal (the game does use dynamic resolution, but pixel counts seem static in traversal), logic suggests that the CPU may well be causing the problem - perhaps it's still streaming in and decompressing world data? Well, overclocking the CPU by 75 per cent should sort that out, but it actually makes no difference whatsoever. Increasing GPU clocks to 921MHz does help, but only to a limited degree.
However, by overclocking the game in portable mode (with that 720p resolution), Leadbetter was eventually able to get smooth performance:
Switching to mobile mode with its lower resolution but running at docked clocks resolves the issue - and indeed almost all of the performance hiccups in the game. Despite the evidence to the contrary, Link's Awakening does seem to be GPU-limited, even in scenarios where the complexity of the visuals doesn't change before, during or after a stutter.
Ultimately, Link's Awakening is still a fantastic game despite its frame rate hiccups, and we're hopeful that Nintendo (and Grezzo, which handled this update) can find a way to smooth out these minor issues with a patch. As Leadbetter quite rightly points out, it makes no sense for Super Mario Odyssey to run at a faultless 60fps while Link's Awakening struggles to maintain the same performance.