Dolphin, the GameCube and Wii emulator - Forums

Full Version: DX11 and OpenGL differences
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I'm playing with Aero disabled on a modern Windows OS, build 7052. Is there any reason why one API would have more input lag in Dolphin? Also, are there any other reasons to use one over the other?

I ask because I generally tend to assume OpenGL is better with emulators, but it seems DirectX11 performs better in Dolphin, if only slightly. I'm not sure if this was always the case, but I do know my AMD card recently had a ~70% improvement in CPU overhead with DX11 with the latest driver update.

The only difference is that OpenGL becomes a stuttering mess in some scenarios with texture cache set to the middle for certain games, while DX11 is perfectly happy at the "Safe" setting. My other graphics settings are: 1080p fullscreen, auto internal res (3x), no AA, 16x AF, scaled EFB, Per-Pixel Lighting, and then in "Hacks" I've only got "Store EFB Copies to Texture Only", and XFB set to "Virtual". Everything else there is disabled (apart from the texture cache setting for OpenGL obviously).
I always use DirectX 11. It performs A LOT better than OpenGL in my notebook (with a NVIDIA card). I can run games like Super Mario Galaxy or Super Smash Bros Brawl at native 1080p and without stuttering! The difference I can see between them (without counting the performance) is that you can run games with effects only in OpenGL...
What do you mean by effects?
I guess he means post processing shaders.

The AMD opengl driver is kinda bad, which is way d3d is faster in most games than opengl, when you have an AMD gpu.

The texture cache setting does not work like you possibly think it does. If everything works fine in fast, the only difference between fast and safe is that safe is eating more ressources. Most games are fine with fast, and >90% of the others force the texture cache setting automatically via a game ini file.

"my AMD card recently had a ~70% improvement in CPU overhead with DX11 with the latest driver update."
Do you have any source for this?
(07-22-2015, 02:39 AM)mimimi Wrote: [ -> ]I guess he means post processing shaders.

The AMD opengl driver is kinda bad, which is way d3d is faster in most games than opengl, when you have an AMD gpu.

The texture cache setting does not work like you possibly think it does. If everything works fine in fast, the only difference between fast and safe is that safe is eating more ressources. Most games are fine with fast, and >90% of the others force the texture cache setting automatically via a game ini file.

"my AMD card recently had a ~70% improvement in CPU overhead with DX11 with the latest driver update."
Do you have any source for this?

Ok, then it seems DX will be my choice from now on. I had a feeling the cache made no difference visually, but it shows a performance difference, and there's also no reason to have it off if it works perfectly, right?

I knew AMD's OpenGL performance was awful, but to be fair the DX driver performance is pretty bad too. 3DMark API overhead test shows that multi-threaded performance is a tad worse than single core, which is pretty WTF given similar Nvidia cards show 2x performance with multi-threading on. Anyway, that's my source 3DMark API overhead test, where my scores improved about 70%, and others had very similar results. If you read a bit about Catalyst 15.7 compared to previous drivers, you'll find a lot of results and talk about this. At least we know drivers are being improved, ever so slowly.

Vitalicks

The main difference for me is that OGL can use SSAA (I believe its Super Sampling Anti Aliasing) which makes it look better and DX11 only uses normal FSAA or MSAA.

Even if you use a massive render resolution and scale it down, SSAA still looks prettier. At least to me its the main reason of why i choose OGL.

I didn't even know that DX11 was "less demanding" than OGL. I will check it myself as well.
DX11 is only less demanding if you are using an AMD GPU
What I don't understand is how come I see some users having no problems running D3D with an Nvidia GPU? I have a GT740M onboard and I get crappy stutters with D3D backend on builds such as Ishiiruka and dev. However I get overall good performance with OpenGL. I know I can use post processing effects but I am limited to use the customizations that brings with D3D.

Vitalicks

(07-24-2015, 01:12 AM)cyrax33 Wrote: [ -> ]What I don't understand is how come I see some users having no problems running D3D with an Nvidia GPU? I have a GT740M onboard and I get crappy stutters with D3D backend on builds such as Ishiiruka and dev. However I get overall good performance with OpenGL. I know I can use post processing effects but I am limited to use the customizations that brings with D3D.

I don't use D3D, I always used OGL for the reasons i stated above.

When i had my laptop with a GT540M back then there was DX9 and DX11 i could only play with DX9, but on a very low resolution, even lower than the laptop that had slightly higher than 720p, this was on windows.

While on Linux i could play at screen resolution with OGL perfectly fine.

Try lowering the graphics settings and see if you still get stutters, it could be a CPU problem. Laptops have bad CPU's in general, despite their clock speeds.
Running a GTX 770,

At least while replaying Super Mario Galaxy 1 and 2 recently on Ishiiruka I have been using the D3D11 backend. It seemed to be giving better performance for me over OGL and SSAA is too much of a resource hog anyway when 4xMSAA and 4x internal res with the scaling filter is producing a crisp image already. Comparing screenshots SSAA is really not much different but the performance hit is *massive*.

For the other few GCN games I've played I was using OGL, though.
Pages: 1 2