Andy Walker / Android Authority
TL;DR
- Nintendo 3DS Azahar has just announced support for caching shaders to disk.
- Azahar has to translate 3DS vertex shaders so your GPU can use them, slowing down gameplay.
- By caching compiled shaders, Azahar hopes to reduce stutters (after the first play).
We may be soundly into the era of the Switch 2 by now, but for Nintendo fans who still carry a torch for some of the company’s older systems, it’s also one of the best times yet to get into 3DS gaming. Nintendo 3DS emulators are better than they’ve ever been, and you’ve got your pick of dual-screen gaming hardware on which to enjoy them.
Don’t want to miss the best from Android Authority?
Azahar has emerged as one of our favorite 3DS emulators for Android, and lately it’s been getting a lot of important updates. Just last month we saw it tackle the problem of latency and sorting out its approach to working with .3ds files, and now we’re learning about a new update with its eye on maybe our favorite kind of optimization: improving performance.
After first dropping a teaser earlier this month, over the weekend Azahar dev PabloMK7 posted to the platform formerly known as Twitter about their latest work: cached shaders.
Shaders are a core part of how modern GPUs render 3D graphics, and their custom nature offers devs lots of flexibility. Basically tiny programs that run on the GPU, their code can either be complied on-the-fly as needed, or compiled once and then saved for reuse: cached. That’s one of many tricks that games on your PC use to squeeze out as much performance as possible, and now the same technique is being applied to Azahar.
The first time you play a new 3DS game in Azahar, the emulator still has to render those shaders like always, but after that initial rendering step, they’ll be cached to your device’s storage.
The 3DS uses vertex shaders in specific, and Azahar has to translate those into code that will run on your local GPU. That can happen over and over throughout gameplay as scenes change, and lead to stuttering performance. But by saving the translated shaders for later, subsequent playthroughs should go much more smoothly.
OpenGL apparently offered this functionality already, but Vulkan did not natively. PabloMK7’s solution for Azahar doesn’t just address caching for Vulkan, but also claims improvements over even that OpenGL support, including future-proofing for later Azahar updates.
If you’ve been frustrated by 3DS game stutters with Azahar in the past, it sounds like it’s definitely going to be worth taking a second look once this upgrade becomes available.
Thank you for being part of our community. Read our Comment Policy before posting.
