Hello
I have been using a 1070 for a few years with no issues, as long as I used either Ubershaders or Hybrid. I used OpenGL and Vulkan, and both were fine, with Vulkan giving markedly better performance in a small number of games.
After "upgrading" to a 3060 I now have massive shader compilation stuttering, and I can't get rid of it no matter what Dolphin settings I try. These stutters are so bad they can even be pauses lasting up to 1000ms. They only occur on the first play through of unexplored areas in games.
I have tried manually deleting the shader cache stored in Documents\Dolphin Emulator\Cache without improvement.
Deleting the shader cache of course makes the stutter return until I've played through the same area in the game and Dolphin rebuilds its cache file(s).
I have also tried manually deleting NVidia's shader cache stored in AppData\Local\NVIDIA\GLCache (this appears to be used for both OpenGL and Vulkan).
Curiously if I delete Dolphin's cache but leave Nvidia's cache alone, performance is smooth, but again, only until I reach a new area in a game with new visual effects and then it's stutter city. So it appears NVidia is caching the shaders as well, in addition to Dolphin.
Is it possible that Nvidia's shader cache is somehow clashing with Dolphin's shader cache? Maybe they are both trying to compile at the same time? I have tried setting shader cache to OFF in the NVidia control panel, to no effect - those same Nvidia cache files are just created again. I tried making that folder read only which prevented Nvidia from creating them, but without performance improvement.
I've tried different driver versions to no avail (the latest, the oldest, and one in between).
The only thing I can think of is that I am using Windows 7 and perhaps NVidia has changed something in their drivers regarding shader compilation that only works efficiently on Windows 10.
Therefore I am seeking feedback from 3060 owners using Windows 10 who could comment whether they get these massive shader compilation stutters. A good test game would be Donkey Kong Country Returns, after pressing a button at the title screen the camera pans down and this triggers a bunch of shader compilation. Keep in mind you'll have to clear both your Dolphin shader cache and your NVidia shader cache before each test run, otherwise you'll likely get a false positive.
I have tried Dolphin versions 5.0-15445 and 5.0-16391, the latter of which is the last version which was compatible with Windows 7.
I am not sure whether to blame Dolphin or NVidia here. I would tend towards blaming NVidia as my 1070 was on a much older driver version dated March of 2020 and was working very nicely with Dolphin. In line with "don't fix it if it ain't broke" I kept using that version, but now I wish I could go back in time and test newer versions on 1070 to see if the issue was introduced at some point in time.
If NVidia is the culprit and changed the way shader compilation is done in the driver, is it possible this change was compensated for in a later version of Dolphin which I am unable to use due to being stuck on 5.0-16391?
I have seen some videos on Digital Foundry where even the latest "triple A" games have shader compilation pauses. Is this just the new normal? Are game developers perhaps missing these issues because they forgot to delete the shader cache before playtesting? Is shader compilation stuttering the new way of cheating to get better graphics? Make the user have a horrible experience on their first playthrough in order to gain the advantage of better "upper limit" of graphics on the second playthrough? Is this just how things are now?
The only thing left for me to do is a clean install of Windows 10, but I wanted to get some opinions before I embark on that journey.
I chose the 3060 as it's the most popular among Steam users, has Windows 7 drivers, has more VRAM and memory bus width compared to the 4060, and is markedly faster than my previous 1070. It seemed like the ideal choice for my requirements, but is not living up to it and frankly I'm devastated that I've lost access to my wonderful backcatalogue of Gamecube and Wii games.
Thanks
I have been using a 1070 for a few years with no issues, as long as I used either Ubershaders or Hybrid. I used OpenGL and Vulkan, and both were fine, with Vulkan giving markedly better performance in a small number of games.
After "upgrading" to a 3060 I now have massive shader compilation stuttering, and I can't get rid of it no matter what Dolphin settings I try. These stutters are so bad they can even be pauses lasting up to 1000ms. They only occur on the first play through of unexplored areas in games.
I have tried manually deleting the shader cache stored in Documents\Dolphin Emulator\Cache without improvement.
Deleting the shader cache of course makes the stutter return until I've played through the same area in the game and Dolphin rebuilds its cache file(s).
I have also tried manually deleting NVidia's shader cache stored in AppData\Local\NVIDIA\GLCache (this appears to be used for both OpenGL and Vulkan).
Curiously if I delete Dolphin's cache but leave Nvidia's cache alone, performance is smooth, but again, only until I reach a new area in a game with new visual effects and then it's stutter city. So it appears NVidia is caching the shaders as well, in addition to Dolphin.
Is it possible that Nvidia's shader cache is somehow clashing with Dolphin's shader cache? Maybe they are both trying to compile at the same time? I have tried setting shader cache to OFF in the NVidia control panel, to no effect - those same Nvidia cache files are just created again. I tried making that folder read only which prevented Nvidia from creating them, but without performance improvement.
I've tried different driver versions to no avail (the latest, the oldest, and one in between).
The only thing I can think of is that I am using Windows 7 and perhaps NVidia has changed something in their drivers regarding shader compilation that only works efficiently on Windows 10.
Therefore I am seeking feedback from 3060 owners using Windows 10 who could comment whether they get these massive shader compilation stutters. A good test game would be Donkey Kong Country Returns, after pressing a button at the title screen the camera pans down and this triggers a bunch of shader compilation. Keep in mind you'll have to clear both your Dolphin shader cache and your NVidia shader cache before each test run, otherwise you'll likely get a false positive.
I have tried Dolphin versions 5.0-15445 and 5.0-16391, the latter of which is the last version which was compatible with Windows 7.
I am not sure whether to blame Dolphin or NVidia here. I would tend towards blaming NVidia as my 1070 was on a much older driver version dated March of 2020 and was working very nicely with Dolphin. In line with "don't fix it if it ain't broke" I kept using that version, but now I wish I could go back in time and test newer versions on 1070 to see if the issue was introduced at some point in time.
If NVidia is the culprit and changed the way shader compilation is done in the driver, is it possible this change was compensated for in a later version of Dolphin which I am unable to use due to being stuck on 5.0-16391?
I have seen some videos on Digital Foundry where even the latest "triple A" games have shader compilation pauses. Is this just the new normal? Are game developers perhaps missing these issues because they forgot to delete the shader cache before playtesting? Is shader compilation stuttering the new way of cheating to get better graphics? Make the user have a horrible experience on their first playthrough in order to gain the advantage of better "upper limit" of graphics on the second playthrough? Is this just how things are now?
The only thing left for me to do is a clean install of Windows 10, but I wanted to get some opinions before I embark on that journey.
I chose the 3060 as it's the most popular among Steam users, has Windows 7 drivers, has more VRAM and memory bus width compared to the 4060, and is markedly faster than my previous 1070. It seemed like the ideal choice for my requirements, but is not living up to it and frankly I'm devastated that I've lost access to my wonderful backcatalogue of Gamecube and Wii games.
Thanks