Hi,
first of all I’d like to thank all the Dolphin Team for their majestic work. I love Dolphin emulator and I’m grateful to all you guys and gals for your commitment.
A brief history of my experience: I started using Dolphin on October 2016 and one of the games I play most often is Wave Race Blue Storm. I immediately noticed subtle frame pacing, micro stuttering problems, but searching on the forum all posts indicated shader cache compiling as the origin of all stuttering problems. The more I used Dolphin (testing various builds/configs), the more I learned to know shader cache compiling stutters, but the frame pacing issues I encountered in Wave Race and other 30FPS games always resembled to me something different (60FPS games are butter smooth). I encountered these micro stutters using all development builds since October 2016, using all graphical backends and even using Ishiiruka Dolphin. I see these stutters even in scenes where I’m sure the shader cache is prepared i.e. running Zelda Twilight Princess intro multiple times.
Now that, with a great effort by developers, the Ubershaders are here to free Dolphin from the “original sin” of shader cache compilation, I think that it’s time to investigate this issue with peace of mind.
In this video you can see the Zelda Twilight Princess intro running on my system with Exclusive Ubershaders
Here’s the details of the test:
SYSTEM
CPU: i5-6600K 4.7GHz
RAM: 16(8+8)GB DDR4 2500GHz 15-15-15-36
GPU NVidia GTX1080 core slightly over 2GHz, RAM 11GHz
System Drive: Samsung SSD 850 EVO 500GB
ROM Drive: Seagate/Maxtor M3 2.5" 4TB on USB3
Windows 10 Pro x64 1703
Video Drivers: 384.94
Windows Power Management Mode: High Performance
NVidia Power Management Mode: Prefer Maximum Performance
Dolphin: 5.0-4956
ROM: The Legend of Zelda: Twilight Princess USA GZ2E01 GCZ
DOLPHIN SETTINGS
Enable Dual Core: on
Speed Limit: 100%
JIT Recompiler
DSP HLE emulation
Audio Backend: XAudio2
Enable Audio Stretching: off
Enable CPU Clock Override: off
Backend: Direct3D 11
Fullscreen Resolution: 1920x1080
Aspect Ratio: Auto
V-Sync: on
Use Fullscreen: on
Internal Resolution: 3x Native
Anti Aliasing: 4x MSAA
Anisptropic Filtering: 16x
Ubershaders: Exclusive
Scaled EFB Copy: on
Per Pixel Lightning: off
Force Texture Filtering: off
Widescreen Hack: off
Disable Fog: off
Force 24 bit Color: on
As you can see the CPU/GPU load is always low, there’s no shader cache compilation at all (Exclusive Ubershaders), but you can see frequent frame pacing issues (i.e. when Link approaches the fences, 35s-40s, or near the end, 55s-1m:05s).
In my humble opinion, it could be something related to synchronization problems between what Gamecube software believes to be CRT timing in order to maintain 30FPS vsync and the virtual environment offered by Dolphin that tries to maintain vsync with the real display. This is a pure speculation not supported by any study of source code; it’s based on black-box testing and leaves things as they are. But now we have the facts: 30FPS vsync micro stutters are real and they are not caused by shader cache compilation. I hope this helps.
Many many thanks to all of you
Best regards
Locutus73
first of all I’d like to thank all the Dolphin Team for their majestic work. I love Dolphin emulator and I’m grateful to all you guys and gals for your commitment.
A brief history of my experience: I started using Dolphin on October 2016 and one of the games I play most often is Wave Race Blue Storm. I immediately noticed subtle frame pacing, micro stuttering problems, but searching on the forum all posts indicated shader cache compiling as the origin of all stuttering problems. The more I used Dolphin (testing various builds/configs), the more I learned to know shader cache compiling stutters, but the frame pacing issues I encountered in Wave Race and other 30FPS games always resembled to me something different (60FPS games are butter smooth). I encountered these micro stutters using all development builds since October 2016, using all graphical backends and even using Ishiiruka Dolphin. I see these stutters even in scenes where I’m sure the shader cache is prepared i.e. running Zelda Twilight Princess intro multiple times.
Now that, with a great effort by developers, the Ubershaders are here to free Dolphin from the “original sin” of shader cache compilation, I think that it’s time to investigate this issue with peace of mind.
In this video you can see the Zelda Twilight Princess intro running on my system with Exclusive Ubershaders
Here’s the details of the test:
SYSTEM
CPU: i5-6600K 4.7GHz
RAM: 16(8+8)GB DDR4 2500GHz 15-15-15-36
GPU NVidia GTX1080 core slightly over 2GHz, RAM 11GHz
System Drive: Samsung SSD 850 EVO 500GB
ROM Drive: Seagate/Maxtor M3 2.5" 4TB on USB3
Windows 10 Pro x64 1703
Video Drivers: 384.94
Windows Power Management Mode: High Performance
NVidia Power Management Mode: Prefer Maximum Performance
Dolphin: 5.0-4956
ROM: The Legend of Zelda: Twilight Princess USA GZ2E01 GCZ
DOLPHIN SETTINGS
Enable Dual Core: on
Speed Limit: 100%
JIT Recompiler
DSP HLE emulation
Audio Backend: XAudio2
Enable Audio Stretching: off
Enable CPU Clock Override: off
Backend: Direct3D 11
Fullscreen Resolution: 1920x1080
Aspect Ratio: Auto
V-Sync: on
Use Fullscreen: on
Internal Resolution: 3x Native
Anti Aliasing: 4x MSAA
Anisptropic Filtering: 16x
Ubershaders: Exclusive
Scaled EFB Copy: on
Per Pixel Lightning: off
Force Texture Filtering: off
Widescreen Hack: off
Disable Fog: off
Force 24 bit Color: on
As you can see the CPU/GPU load is always low, there’s no shader cache compilation at all (Exclusive Ubershaders), but you can see frequent frame pacing issues (i.e. when Link approaches the fences, 35s-40s, or near the end, 55s-1m:05s).
In my humble opinion, it could be something related to synchronization problems between what Gamecube software believes to be CRT timing in order to maintain 30FPS vsync and the virtual environment offered by Dolphin that tries to maintain vsync with the real display. This is a pure speculation not supported by any study of source code; it’s based on black-box testing and leaves things as they are. But now we have the facts: 30FPS vsync micro stutters are real and they are not caused by shader cache compilation. I hope this helps.
Many many thanks to all of you
Best regards
Locutus73