Emulator Issues #10445
Display initializing to 30Hz with D3D since 5.0-4657 (Quad-buffered stereoscopy)
Game Name?*' & **Game ID?
All, not relevant
What's the problem? Describe what went wrong.
The screen refresh rate is (wrongly) set to 30Hz at game launch on D3D even without Dolphin stereoscopy enabled.
Using the newest builds, the screen (on my case 3D-capable LCD television (Samsung UE46F7005)) switches to 29/30Hz and the TV says that it has enabled the 3D mode as soon as I launch any game. When I check the Intel display driver properties, it really says 29Hz / 1920x1080, and I can not change it back to 59/60Hz as long as Dolphin is running. The screen also appears to have false "bright blueish" colors, as the TV's 3D mode compensates for the 3D glasses (as it should, in this mode).
What steps will reproduce the problem?
Launch any version of Dolphin since and including 5.0-4657, preferably portable.txt and fresh default installation. Use a 3D capable display (I can not reproduce this with my laptop that has Intel HD 620 and a non-3D screen). Change GFX backend D3D (on Windows, of course). Launch any game. The screen flashes and the monitor changes the display mode. Check display properties.
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
5.0-4647 works, 5.0-4657 is the first build that behaves like this.
What are your PC specifications? (CPU, GPU, Operating System, more)
Intel i5-4670S, Intel HD 4600 (latest drivers 220.127.116.1103) , Monitor/TV Samsung UE46F7005 (3D Smart-TV from ~2013), Windows 10 64bit (also tested on Windows 8.1 64bil).
Is there any other relevant information? (e.g. logs, screenshots,
Note: This does not require the game to be in full screen mode, it happens even in windowed mode, as long as D3D is selected.
Also I tried out unlimited speed. New Super Mario Bros demo screen plays with FPS up to 250, as it should, but the display's refresh rate still drops down to 29Hz. The game's "speed" or "frame rate" seems unrelated to this.
I also thought at first that this might have something to do with vsync, but all the actual settings seem to work in this case, it's just that Dolphin seems to force an unwanted display mode.
#2 Updated by Armada over 3 years ago
Could you test this custom build? https://www.dropbox.com/s/kpfnwiclqaukdsi/Dolphin-x64.7z?dl=0
#4 Updated by hosode over 3 years ago
I would have taken the test now one step further and test that the side-by-side stereoscopy still actually works, but I can't do that right now, since I'm on a trip until friday (I did the latest tests through VNC, the 29/59Hz was still reliably testable since the TV was connected and display drivers showed the refresh rate).
#5 Updated by Armada over 3 years ago
This happens because Windows reports your monitor is already in a Stereo 3D mode. Can you think of any reason why Windows would think your monitor is already in 3D mode when in fact it's not?
This is the relevant DXGI call that is causing this issue: https://msdn.microsoft.com/en-us/library/windows/desktop/hh404561(v=vs.85).aspx
#6 Updated by hosode over 3 years ago
Hmm... I'll have to check the settings (I'm not at the equipment right now), but it might have something to do with my TV having "3D Auto View" being set to "On", so that the TV switches to 3D mode when it sees a 3D signal. Maybe the TV "offers" the 3D mode all the time, and the display drivers see it as being on? I'll do some checks with different settings tomorrow. But what I can tell from display drivers, there are no hints of the monitor being set to 3D or not, just that I see the 29Hz and 30Hz as options also when the TV is not in 3D mode.
So far Dolphin's latest builds have been the only ones that switch to 29Hz without actually having any proper stereo mode being set.
This is what the TV's manual has to say about the "3D Auto View", not sure if it will be useful:
Setting 3D Auto View to On switches the TV to 3D automatically. Setting 3D Auto View
to Message Alert brings up a message screen when the TV receives a 3D signal. If some
applications are running, The TV can not switch 3D. In this case, close the application and then
watch the 3D. This function is available for LED 7000/7500, 8000, 8500 series models only.
#7 Updated by Armada over 3 years ago
That does sound like the cause. The way Dolphin works right now is that, if Windows indicates that the display currently has 3D enabled it will initialize D3D with stereoscopy support so you can switch between stereo 3D and mono 2D on the fly.
The only way to fix this is to revert that functionality and only enable stereoscopy support if "HDMI 3D" is selected in Dolphin when the game is started.
#8 Updated by hosode over 3 years ago
Now I got the chance to actually visually confirm what effects do the TV's 3D settings have. As said, the custom build you posted does not switch the display modes automatically. And the 3D works if I enable it from my TV.
But I was wrong about the 3D Auto View of my TV. Even if I have (on my TV) 3D off and 3D Auto View off, I still see all the TV's supported display modes in my display properties (Intel's application). And the master build (on D3D) still insists on switching to 29Hz when I launch the game. So there seems to be no way of preventing this with the settings of my setup.
As such, I'd rather have the old behaviour (so that Dolphin would not try to change the display mode at all), and I can self switch it on. Since now I have a non-functional D3D with working ubershaders or a functional OGL with non-functional ubershaders.
#9 Updated by hosode over 3 years ago
...or would it be possible to enable stereoscopy support only if a required mode is selected in Dolphin? It gets more complicated, of course, as anaglyph does not require it, does it? Mainly side-by-side and top-and-bottom? And the check should not be only at lauch, but also if the stereoscopy mode is turned on during the game (there are hotkeys for this).
#10 Updated by hosode over 3 years ago
So to add some support to my HTPC's behaviour, I connected my laptop (A newer i5-7200U-laptop with Intel 620 HD Graphics and Windows 10 Home 64-bit), and connected it to my HTPC's HDMI output (different port). Then I selected the TV as the "only output" from Windows 10.
The result was the same, OGL works as expected and D3D results in blue-tone 30Hz picture as soon as I launch any game (latest Dolphin 5.0-5209, portable).
The issue seems to be related to my TV (that actually can do 3D). The TV isn't that old, and it has the latest firmware.
So I still think that the program should check that Dolphin's stereoscopy (side-by-side or top-and-bottom) is really active before it can cause change of display modes.
#11 Updated by hosode over 3 years ago
So to add some support to my HTPC's behaviour, I connected my laptop (A newer i5-7200U-laptop with Intel 620 HD Graphics and Windows 10 Home 64-bit), and connected it to my HTPC's HDMI output (different port).
The typo of the day, of course I connected my laptop to the HDMI port of TV, not my htpc.