I was trying to play the original GameCube version of
Metroid Prime, but have seen stuttering in most games that I've tried before.
Good call on the storage though. I had tried copying the game over to my NVMe SSD even though I didn't expect data access to cause problems considering how slow the original optical drive was - and the problem was not where the disc image was being stored. It was still stuttering then.
The issue is that Dolphin follows bad practices and stores its config files etc. in the system's Documents folder rather than its own directory or AppData.
Well that caused multiple problems on my system:
- I have documents stored on HDDs rather than SSDs.
- Windows 10's Controlled Folder Access was preventing Dolphin from writing to that directory at all.
I think I must have had a Dolphin folder in there from before CFA was a thing, so there was an existing Dolphin config directory in Documents that it was reading things like my controller setup from, but it was unable to write to that folder.
What else does it write to that folder along with the config files, save games, screenshots etc? The shader cache.
So I don't know exactly what its failure state was, but every time it was compiling shaders or trying to load from the cache it was stuttering badly.
It seems to have been such an afterthought for them, that there's no GUI option to move the dolphin config folder somewhere else either -
you have to edit the registry to set another directory for those files!
Now that it's writing to the SSD, the game is running 99% smoothly. I played from the start of the game up to the point that you unlock missiles again and it was almost as smooth as real hardware. Unfortunately it did still stutter noticeably three or four times in what was maybe 20-30 minutes of gameplay.
The fact that it's still not as smooth as the real thing makes me wonder about going back to hardware for it. Everything up to PS2 emulation seems to be fine, but that type of shader compilation stutter or audio glitches really annoy me.