Dolphin, the GameCube and Wii emulator - Forums

Full Version: D3D11/OGL Video Backend IQ Comparisons
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Anyone notice the image quality (IQ) difference between using DirectX 11 backend and OpenGL when adjusting XFB:Real/Virtual/Disabled? I have found that adjusting XFB to real and virtual has various interesting effects in both backends as you guys shall see.

Notes
- All video backend settings are attached to this post;
- Where settings vary from those shown in the attached images - I have noted;
- DirectX 11 and DirectX 9 has the same IQ behaviour;
- Resident Evil 4 is used as an example but it applies to all games;
- You may notice that in DirectX 11 screenshots there is a weird green border. This is an Issue;
- XFB: disabled produces the same results as XFB: Virtual;
- The video backend behaviour shown below occurs in 3.5 stable x64;
- Screen shots are taken running 3.5 - 1801 x64 full screen;
- I have not manipulated the OpenGL images - the screen shot function in Dolphin gives me a varying screen shot area compared to using Direcxt X 11 backend and taking a screen shot!!!

Direct X 11 vs OpenGL (native resolution / XFB: Real)
[color=#ff0000](A) [/color]DirectX 11
[color=#ff0000](B) [/color]OpenGL

Notice that the OpenGL backend looks nicer. Take note of the 'Leon' underneath the health bar, Leon's aliased arms and the text 'Talk' between both backends.

Direct X 11 vs OpenGL (native resolution / XFB: Virtual)
[color=#ff0000]©[/color] DirectX 11
[color=#ff0000](D) [/color]OpenGL

Both backends now produces the same IQ as [color=#ff0000](B)[/color].

Direct X 11 vs OpenGL (4x Internal Resolution / XFB: Real)
[color=#ff0000](E) [/color]DirectX 11
[color=#ff0000](F) [/color]OpenGL

Here's where it gets interesting. Direct X 11 backend produces the same IQ as [color=#ff0000](B) and [/color][color=#ff0000]©[color=#000000].
OpenGL produces a worst looking image and the same IQ as [/color][/color][color=#ff0000](A).[color=#000000] A reverse of what we saw in the first test.[/color]
[/color]
Direct X 11 vs OpenGL (4x Internal Resolution / XFB: Virtual)
[color=#ff0000](G)[/color] DirectX 11
[color=#ff0000](H)[/color] OpenGL

Nothing surprising here. 4 x Internal Resolution makes things looks sharp.

One more Direct X 11 Comparison
Native Res / XFB: Real
Native Res / XFB: Virtual

Conclusion.
Confusing? Errrrm.... Yeah.
If I remember correctly , XFB option is used to fix flashing/blinking screen for some games
XFB reduce performance (you won't notice it since you computer is too strong) and cause graphic error in most games
The vast majority of games don't require XFB (Real or Virtual) and many people don't switch backends that often. The chances of finding someone else who noticed the differences in IQ as you have is fairly minimal, so to answer your first question, no normal user (devs maybe) has probably noticed this phenomenon. It's probably just a difference to how each video backend handles XFB emulation though. It's not terribly important since XFB shouldn't be enabled unless you need it.

That said, interesting finds. If it isn't something that's supposed to happen, you've documented it well enough for the devs.
I believe what we are seeing is that setting direct x 11 backend to xfb real breaks the bilinear/trilinear filtering emulation of the flipper chip? When I play on my wii the iq of resi 4 is the same as ogl with xfb real for example.

You are right though not many people will realise the difference but I only noticed it when reporting issues on google code.

Would be good to hear from devs if they got time!


Cheers
Optimis0r, you say that XFB Virtual and XFB Disabled look the same, yet you are not providing pictures. Why the hell not? If you believe they are the same, provide the images. Every single one. And then point out proudly how they are the same. Regardless, XFB Real has a known error. You're crazy for doing a visual comparison between backends before isolating it.

In a partially related tidbit: D3D11 apparently forces texture filtering by default. The banding issue in skyward sword / wii sports resort / new super mario bros. wii are all fixed by turning on "Forced Texture Filtering" in OpenGL and D3D9, yet don't need it in D3D11. Furthermore, the image of VC 2D titles in D3D11 is filtered, yet OpenGL's is nearest neighbor. I may make an issue report on this one day, haven't gotten around to it.
I'm just documenting my finding. I'm not proudly claiming anything Smile if you think I'm lieing about xfb disabled having the same iq behaviour as virtual then so be it. Regardless the difference are there to see between real and virtual.

Also I didn't know that about d3d 11 and those games. I don't have those games otherwise I'd probs take a few pics and post an issue on google code :p
Yeah, I have to rewrite all the ogl util shader :-(
But I haven't found a nice way without remothing CSAA and ironlake support, so it will be post 4.0
Optimis0r Wrote:if you think I'm lieing about xfb disabled having the same iq behaviour as virtual then so be it
I don't think you're lying; I think you're doing it wrong. XFB Disabled is the normal behavior. Both XFB Virtual and XFB Real are abnormal settings only for games with that require very high compatibility. You should be giving a comparison between normal and abnormal. Instead you are doing a comparison between abnormal and abnormal. Even if one of them is the same as the normal, what you are doing creates unneeded uncertainty and doubt. XFB Disabled is highly tested and it's behavior is well known, so it is perfect for comparative testing to find bugs in XFB Real (as long as you check XFB Virtual as well).


Here is the error I was referring to. - https://code.google.com/p/dolphin-emu/is...il?id=6503 It was fairly well known, but no one bothered to make the issue report. It's in your screenshots too, and lines up with your testing pretty well. This is probably the issue you noticed.

Btw, you should probably be using a fifolog for these comparisons. I notice you changed positions constantly in the shots, some have the "A Talk" thing, others don't, on and on. A fifolog would make these EXACT, and it would make it easier and faster on you. Oh, and use PNG too. JPG sucks for this.