Skip to content

Upstreamed from Dekopon & borrowed optimizations from Tico

Choose a tag to compare

@Raibatsu Raibatsu released this 20 Jul 04:07

One thing I genuinely didn't know was how performant Tico's version of Azahar is over Dekopon. Luckily, Dan has made his changes public. However, since there is a significant difference in implementation between Dekopon and Tico, I had to manually nitpick the changes. I saw a great performance boost in Zelda Link Between Worlds and Mario 3D World (Mario is still far from being as good as it is on Tico for some reason, I'll look into what else I can pull off).

Here are the changes I added, including from Tico, from Dekopon, and some on my own:

  • Build now uses LTO. The original dev has a warning saying to keep it disabled, but enabling it does give a pretty good performance boost, Reduces build size by a little bit as well. Might cause issues, let me know if it does.
  • Added option to change between texture filters (all 5 texture filters available in Azahar are available: 1: Anime4K, 2: Bicubic, 3: ScaleForce, 4: xBRZ, 5: MMPX.)
  • Added option to toggle Linear Filtering and Integer Scaling.
  • Changed the core schedulers to be more... freely available (this is the biggest change I moved over from Tico). Gives a good performance boost and helps compile shaders faster. Additionally, ensures that games run better on lower clock speeds, still not as good as original Tico though.
  • Reverted the IO optimizations that I did for entering/leaving Pokemon battles. Unfortunately, while it did help between battles, it caused games like Pokemon X/Y to hang on a black screen due to IO hanging. Might take a look at further optimizations that don't break functionality.

Imported changes from Dekopon: