Majora's Mask 3D performance issues

I’ve had performance issues with Majora’s Mask 3D on Citra for years. When a new area is loaded, the framerate slows down a lot for a moment. I would assume this has to do with shaders, so I downloaded some pre-compiled shaders and I enabled the hardware shader and the disk shader cache. When these are enabled and I launch Majora’s Mask 3D, the emulator tries to load the game for a moment, but then the emulator closes itself. The game runs just fine aside from the frame rate issues I mentioned without the hardware shader enabled. When the disk shader cache function was first added to Citra, I was pretty excited since I thought it could help with Majora’s Mask 3D’s framerate issues. It seems to game won’t run at all with the hardware shader enabled, so I’m a bit disappointed. I tried searching for a solution, but every thread I find does not end in a solution or is from years ago and not really applicable to the current state of the emulator. There must be a way to make this game work with the shader cache, right?
I have not had this specific issue with other games. Ocarina of Time 3D runs just fine without the use of the shader cache. Other games have different issues that I think may be resolved with a shader cache for those games, but I have not tried to do that with those games yet. If I remember correctly though, I think I was able to use the hardware shader with some games like Pokemon games.
I don’t know if this information is relevant, but my copy of Majora’s Mask 3D has been updated to version 1.1.
Thank you to anyone who reads this and can provide help with this.

System Information

  • Operating System: Windows 10 Pro
  • CPU: Intel Core i7 5820K @ 3.30 GHz
  • GPU: NVIDIA GeForce GTX 1070
  • Citra Version (found in title bar): Citra Nightly 1715
  • Game: Majora’s Mask 3D
  • Screenshot of Issue (include the full Citra window including titlebar):
    The screen I see before Citra closes itself with the hardware shader enabled;

The framerate drop as an area loads in without the hardware shader enabled;

Once the area has fully loaded, the framerate is a fairly stable 30 FPS;

Diagnostic Log
citra_log.txt (49.2 KB)

System Information for Support

Client Version                                Nightly 1715 HEAD-afed495
Operating System                              Windows 10 (10.0)
CPU                                           Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz | AVX2 | FMA
Graphics API                                  OpenGL 3.3.0
Graphics Renderer                             NVIDIA GeForce GTX 1070/PCIe/SSE2
GPU Driver Version                            471.11
CPU JIT                                       [x]
Hardware Renderer                             [x]
Hardware Shader                               [ ]
Hardware Shader, Accurate Multiplication      [x]
Shader JIT                                    [x]
System Region                                 1
Shader Disk Cache                             [x]

I did not find anything wrong in your log file. Please wait for a moderator to assist.

Sorry this is illegal and Citra isn’t the only emulator where this is true. You need to build up your own cache so clear the shaders\opengl folder which you can access with File -> Open Citra Folder.

Ah, I wasn’t aware that wasn’t allowed. I’m sorry. I don’t know if I missed that somewhere or if it wasn’t explicitly stated. Unfortunately, since I can’t even run Majora’s Mask 3D with the hardware shader enabled, I wouldn’t be able to build my own shader cache. I’m more than willing to build the shader cache myself if it were possible. How would I go about fixing that issue?

Have you tried enabling Hardware Shaders again after clearing your shaders folder like tywald mentioned above? Those two might be related. If it’s still crashing, upload another log file (with Hardware Shaders enabled ofcourse).

The game doesn’t run at all with Hardware Shader? That’s weird, works fine on my GTX 1070.

It actually works now that I totally cleared out all of the precompiled and transferable shaders. It could’ve been an issue with the file I put in that folder, or something in the transferable folder that maybe was too old or something went wrong with one of those files? In any case, now I know if the hardware shader crashes, you should clear out the shaders folder. Thanks! Sorry for the trouble, next time I’ll be sure to review the rules even more carefully. If you have to remove my thread because I mentioned something that isn’t allowed, I’d be fine with that. I’ll definitely be building the shader cache for this game on my own.