mandarine3ds / mandarine

A Citra fork with extra options for more performance
GNU General Public License v2.0
476 stars 12 forks source link

Improve Shader Compilation #70

Open Canyrex12 opened 4 months ago

Canyrex12 commented 4 months ago

Is there an existing issue for this?

What feature are you suggesting?

Something that I have noticed a lot is that the compilation, whether in OpenGL or Vulkan, is sometimes a little slow and even unstable at times, which is why the compilation should be improved.

Why would this feature be useful?

It would be useful to improve the immersiveness of the emulator, since even a small shader loading moment ruins the user's immersiveness.

TwistedTempest commented 3 months ago

Leaving this here for anyone looking to support the problem without proper context (as I have) and/or help with development:

For a good read-up on what not to suggest, and the scale of 'solving' this problem, see Dolphin's documentation of Ubershaders: https://dolphin-emu.org/blog/2017/07/30/ubershaders/

The solution they settled on is likely impractical for implementation in Mandarine, but I'm no expert; maybe it's possible

kleidis commented 2 months ago

Improving shader cache is indead hard as it's super low level and most of us don't have the skills to do it including especially @Gamer64ytb