Dolphin, the GameCube and Wii emulator - Forums

Full Version: Vulkan without precompiling shaders working better than D3D on nVidia system
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I recently decided to do a few tests to see if I could live without precompiling shaders before loading each game, because every time I update Dolphin, the first time I launch a game with a large UID cache, Dolphin takes about 2 minutes to do the compilation process.

After disabling the option I was surprised to see how badly D3D performs on games like SMG2, while the shaders are being compiled during gameplay.  The sound stutters tremendously for minutes.  Once everything is compiled, D3D performs very well on my system.  This is with async ubershaders enabled, by the way.  OpenGL displays similar behavior.

I then decided to check out Vulkan, which I had not checked in a while, and there is hardly any additional stuttering when launching a game for the first time after a Dolphin update.  In general, I can't tell if Vulkan does better or worse in terms of small stutter hiccups here and there, vs. D3 with precompiled shaders loaded pre-game.

Questions:
1. Does the preloaded pre-compiled shader option even works in Vulkan? If it doesn't that would explain why it seems unaffected the the "first time game load after a Dolphin update" delay.
2. Are the ubershader issues that have been identified on nVidia GPU's using Vulkan in the past, now mostly resolved?

I guess if this combination works for me I'll stick to it but I'm curious as to why Vulkan does so much better in this regard.
Vulkan is threaded and can compile the shaders in the background better, I'm guessing.
That would explain it, since dolphin doesn't use all the cores. The difference is dramatic. I'm finding that I can live with occasional little stutter in exchange for not having to wait for shaders to be compiled when updating dolphin.