Dolphin, the GameCube and Wii emulator - Forums

Full Version: Big stutter across the entire emulator
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I recently recovered from a motherboard failure. My motherboard failed almost right after the Dolphin Ubershaders update, so the version of Dolphin I was running was that initial Ubershaders version. It ran fantastically. Ubershaders were amazing. No hitching, no stuttering, it was glorious.

Motherboard died. It took me roughly six months, I replaced the motherboard with something nearly identical, and after messing about with that initial Ubershaders release a little more, I decided to update to the newest version of Dolphin 5.0 (6805 as if that time) to see what changed in the months since then, if anything.

Now: games play just fine 90% of the time, but every now and then Dolphin will stick HARD on one frame, totally freezing up for nearly a full second, sometimes more, only to resume normal full speed operation like nothing happened. I do not think it was the change of motherboard; it seems to be something that changed between the initial Ubershaders release of Dolphin and 6805.

System Specs:
Motherboard: ASRock Z97 Killer Series
CPU: Intel Core i5-4690K
GPU: Nvidia GeForce GTX 1060 6GB
RAM: 16GB of DDR3-2133 G.Skill Ripjaws

Dolphin Settings:

- Config
Enable Dual Core: Yes
CPU Emulation Engine: JIT Recompiler
DSP Emulation Engine: DSP LLE Recompiler
Audio Backend: Cubeb
CPU Clock Override: Off
Custom RTC: Off

- Graphics
Backend: Direct3D 11
V-Sync: On
Shader Comp: Asynchronous (Ubershaders)
Compile Shaders Before Starting: Off
Internal Resolution: 2x Native
Antialiasing: None
Anisotropic Filtering: 1x
Scaled EFB Copy: Yes
Per-Pixel Lighting: Yes
Force 24-bit Color: Yes
Vertex Rounding: Yes
All other settings: Default

It's worth mentioning I have tried turning the Internal Resolution down to 1x, disabling Per-Pixel Lighting, and switching around the audio backend and the issue persists. I used to get something similar in Project 64 back in the day, and to fix that, I had to increase the sound buffer, but I see that's not an option here.

Advice is welcome.
Does this hard stutter occur in other software?
set DSP emulation engine to HLE

Turn off vsync

Also, are you loading your games off of a network share or an HDD set to go to sleep after a certain amount of time by chance?
(04-08-2018, 05:49 AM)MayImilae Wrote: [ -> ]Does this hard stutter occur in other software?

Nope! I'm literally coming off of a 2 hour session of Burnout Paradise running in 4K as I write this. Rock solid 60fps the entire time.

(04-08-2018, 10:44 AM)Helios Wrote: [ -> ]set DSP emulation engine to HLE

Turn off vsync

Also, are you loading your games off of a network share or an HDD set to go to sleep after a certain amount of time by chance?

Huh. Yeah, that might be it. I'd switched my Windows Power Plan to "High Performance" but digging deeper in to those options the HDDs are set to turn off after 20 minutes of inactivity. I'm gonna crank that up to 240 minutes and see what happens.

Turning off vsync is a bummer. I was getting a bit of tearing in Sonic Colors with the 60fps code turned on.
I've been busy so I haven't really had tons of time to test it out, but these last couple days I've put some time in to both Mario Kart Wii and Super Mario Sunshine and both are still exhibiting the stutter even with the tweaked settings.

As I mentioned earlier, this didn't happen with the original Ubershaders release. It only started happening when I upgraded to 5.0-6805.
(04-18-2018, 06:33 PM)TheLostSkeleton Wrote: [ -> ]I've been busy so I haven't really had tons of time to test it out, but these last couple days I've put some time in to both Mario Kart Wii and Super Mario Sunshine and both are still exhibiting the stutter even with the tweaked settings.

As I mentioned earlier, this didn't happen with the original Ubershaders release. It only started happening when I upgraded to 5.0-6805.

If you now go back to the original Ubershaders release, does it still happen? If so: it is either a configuration issue or a hardware issue. If it doesn't it might be interesting to find out what version the issue started happening, that way they can probably see what change started to cause this.

Also: Are you sure your graphics drivers are up to date, that you are using the latest development version and that the nVidia Control panel is set up to Prefer Highest Performance?
Well, I've poked at multiple older builds (5998, 5684, 5316, 4899) hoping to find a point in which this stutter stops happening, and... it hasn't.

4899, by the way, is a build from the same week Ubershaders launched. I can't go much further back than that. I've tried Mario Sunshine, Mario Kart Wii, Double Dash and Donkey Kong Country Returns. When the stutter happens isn't consistent, but it does eventually happen in all four games.

And yet, a week after I reinstalled Windows, I recorded this video of Sonic Heroes in Dolphin, stutter-free.

I just don't know what to think. I feel like I have a very Dolphin-capable system. I had a few problem games before, but I don't know what changed for this to suddenly effect ALL games.
I think I'm narrowing down what's going on here, and it's weird.

So I've tested a few games out now, and the stuttering happens in the following games:

Super Mario Sunshine, Donkey Kong Country Returns, Mario Kart Double Dash, Mario Kart Wii and Sonic Riders

The stuttering does not happen in the following games:

Sonic Heroes, Sonic Adventure 2, Crazy Taxi, F-Zero GX

At first, I thought maybe this was a problem that only effected first-party Nintendo games. I'd hoped Dolphin's logging console could shed some light on things, so I played Super Mario Sunshine until I ran in to the first big stutter (usually only takes a couple minutes, tops). The log didn't register anything out of the ordinary; certainly nothing tied to when the emulator stutters.

I was, however, getting some "PerfQuery.cpp:44 E[Video]: Flushed query buffer early!" errors. I had started to write a reply about that here, when I realized that wasn't really a clean test because I had a bunch of Gecko codes turned on to enable widescreen, give me infinite water, force Yoshi to be green, etc. In particular, I wondered if the errors were tied to the widescreen code, so I went through and turned everything off and relaunched the game, paying attention to the log

No change -- some basic Filemon warnings that every game gives you (presumably just notifying you of disc access), and that "PerfQuery.cpp:44 E[Video]: Flushed query buffer early!" error whenever certain parts of the horizon in Delfino Plaza were on screen.

But here's the thing: I played for almost ten minutes and the game never skipped a beat. No stuttering.

Hm. So what's the common thread, here? Disabling widescreen, maybe? No, wait

Super Mario Sunshine: Widescreen, Green Yoshi, Infinite Water enabled through Gecko codes
Donkey Kong Country Returns: Classic Controller enabled through Gecko codes
Mario Kart Double Dash: Unlock Everything through Gecko codes
Mario Kart Wii: Turn off items through Gecko codes
Sonic Heroes: No Gecko codes available
Sonic Adventure 2: No Gecko codes available
Crazy Taxi: No Gecko codes available
F-Zero GX: No Gecko codes available

I scrambled to find a non-first-party game to test with Gecko Codes turned on, and landed Sonic Riders (code: Infinite Air). And sure enough, by the second lap of the first race... there's that stutter.

I'm going to have to test more games, but I'm definitely feeling like the culprit here is turning on Gecko cheats.
Yep, must be Gecko codes, dolphin atm is with a regression you may go back to 5.0 to use them or you can disable them, I played Arc Rise Fantasia on the 5.0 with the 60fps gecko code with no issues.

See issue 10367 and issue 10456
Stuttering due to Gecko codes is a known issue at the moment. It was caused by making updates to the codehandler.bin file that made it more accurate (especially with codes that required button presses), but also unintentionally caused this stuttering issue. However, you don't need to downgrade Dolphin for this. Literally all you need to do is download 5.0 stable (I forget exactly which revision changed the codehandler, but 5.0 is definitely safe), take the codehandler.bin that comes with it, and replace the codehandler.bin in your current Dolphin folder with it. The file is located in the Sys folder.