Nintendo 3DS emulation is getting a big performance boost
Source: Android Authority

TL;DR
- Azahar now supports caching shaders to disk.
- The emulator must translate 3DS vertex shaders for your GPU, which can cause stutters.
- Cached compiled shaders should reduce stuttering after the first playthrough.
A resurgence of 3DS gaming
Even as the Switch 2 era approaches, many Nintendo fans still enjoy the 3DS. Modern Nintendo 3DS emulators have reached a high level of compatibility, and a variety of dual‑screen Android handhelds let you experience them on the go.
Among Android options, Azahar has become a favorite. Recent updates have tackled latency issues, improved handling of .3ds files, and now focus on performance enhancements.
Shader caching in Azahar
Over the weekend, Azahar developer PabloMK7 announced a new feature: cached shaders.
Twitter post (now X) details the work.
Shaders are tiny programs that run on the GPU to render 3D graphics. They can be:
- Compiled on the fly each time they’re needed, or
- Compiled once and saved for reuse (cached).
Games on PCs commonly use caching to boost performance, and Azahar is now applying the same technique.

When you launch a new 3DS title in Azahar, the emulator still translates the required vertex shaders for your GPU. After this initial translation, the compiled shaders are stored on your device. Subsequent playthroughs can load the cached versions, eliminating repeated translation and reducing stutter.
Why this matters
- Vertex shaders are heavily used on the 3DS. Translating them repeatedly during gameplay can cause noticeable hiccups.
- OpenGL already offered shader caching, but Vulkan did not natively. Azahar’s new solution adds caching for Vulkan and claims improvements even over the existing OpenGL implementation.
- Future Azahar updates will benefit from this foundation, making the emulator more robust and performant.
What to expect
If you’ve experienced stuttering with Azahar in the past, the shader‑caching update should make the experience smoother after the first run of each game. Keep an eye out for the upcoming release and give it a try once it’s available.