Which one is better? DX11 or OpenGL?
#1
Sorry if this has already been anwsered but, I don't really know which is better. I mainly want the renderer that has better performance.
Reply

Sponsored links

#2
I would think it would matter on the manufacturer of the card and how well the hardware you have and the drivers for that hardware support it...
amd tr 1950x                                                 amd ryzen 5 2500u
asrock x399 taichi                                         amd vega 8 
XFX Radeon rx570                                       16gb ddr 4 2400 ram
32gb gskill ddr4-3200                                   1tb nvme ssd
Debian Bullseye                                           480gb sata ssd
Custom loop water cooled                           HP envy x360
nzxt 340 case
Reply
#3
DirectX will generally be faster, but is more likely to have graphical issues. It mostly depends on the game.
Reply
#4
Hmmm.... oddly when I use OpenGL [GTX 750 Ti] booting to system seems somewhat faster than Directx11...
Reply
#5
(05-03-2016, 03:44 AM)XxDemonK3LLERxX Wrote: Hmmm.... oddly when I use OpenGL [GTX 750 Ti] booting to system seems somewhat faster than Directx11...

Since you have an nvidia card you probably don't have to worry about speed, at least if you use the same options between both. They're probably similar.
Reply
#6
Opengl for Nvidia users as Opengl is much faster on nvidia vs amd cause amd has not implemented certain things in there drivers yet. opengl is also much more accurate then DX at this point.
Reply
#7
OpenGL is basically (sadly) broken on AMD GPUs until further notice. It's not only somewhat slower but also broken visually for most games. There was some code to make it also work (visually) with AMD, but this code was removed few weeks ago. Supposedly it should work again with the next major version of the AMD drivers, but that's a guess. The main reason for this is that the developer of the OpenGL code has an nvidia GPU and cannot test/fix things which works differently with AMD GPUs.
Reply
#8
(05-03-2016, 12:05 PM)avih Wrote: OpenGL is basically (sadly) broken on AMD GPUs until further notice. It's not only somewhat slower but also broken visually for most games. There was some code to make it also work (visually) with AMD, but this code was removed few weeks ago. Supposedly it should work again with the next major version of the AMD drivers, but that's a guess. The main reason for this is that the developer of the OpenGL code has an nvidia GPU and cannot test/fix things which works differently with AMD GPUs.
It can be mended by setting Blending Unit Accuracy to Ultra, but at a serious impact to performance in most games.

Users of the stable version don't have the driver issue. And OpenGL fixes many issues that are still active on DX11 in that version too. So as long as it doesn't kill performance, OpenGL is the better choice.
Reply
#9
If you have an Nvidia GPU
* DX11 would be a bit faster if you're GPU limited.
* OpenGL could be much faster if you're CPU limited (snowblind engine is something 80fps vs 50fps)
* OpenGL accuracy is 10 times better than Dx.

Quote:OpenGL is basically (sadly) broken on AMD GPUs until further notice. It's not only somewhat slower but also broken visually for most games. There was some code to make it also work (visually) with AMD, but this code was removed few weeks ago. Supposedly it should work again with the next major version of the AMD drivers, but that's a guess.
https://community.amd.com/thread/194895
Quoting AMD engineer Anteru:
Quote:It missed the driver release in March (the one with Vulkan, etc. - which was already in lock-down when the fix was written.) It's scheduled for a future release. Keep in mind any public release goes through a lot of testing and QA! In the meantime, please use the workaround (i.e. don't use separate shader objects.)

Quote:The main reason for this is that the developer of the OpenGL code has an nvidia GPU and cannot test/fix things which works differently with AMD GPUs.
I used to have an AMD card. I hit this bug 4-5 years ago. I reported a bug on AMD 4-5 year ago. Actually several of them. They only fix one and the others remain pending for a long time. Let's be honest they doesn't really care about openGL bug on Linux (and likely not so much on Windows neither). Too much code of my initial GSdx port was hack to workaround the AMD driver (hopefully situation is much better).
My mistake is that I expected 3 months of QA, not 6-9. And I'm afraid that AMD won't fix all their DX11 GPU drivers (forgot about that too). And I didn't expect Intel to be broken too but that another story. It took me less time to post a working implementation of the extension for Mesa than waiting a working AMD driver...

So yes, GL_ARB_separate_shader_objects is currently broken on AMD HW. This openGL extension was published (public release) on July 2010 and this extension is a porting of a DX9 feature to an openGL equivalent. It means it only requires a DX9 GPU. DX12 is out, you can't still use it correctly on AMD GPU. AMD took action on openGL/DX11, they just gave them up. And they've initiated a shift to low level API rendering. (Note on Linux the proprietary driver is dead, I'm not sure Linux users will ever see the fix)

And based on snow engine benchmark, the driver is also slower on DX11 too. On latest git you can find a new HW hack called fast texture invalidation. The hack reduces cpu overhead in GSdx frontend (texture validity), it is in common code (so it isn't an Nvidia-GL only hack).
Nvidia DX11 => faster
Nvidia openGL => much faster
AMD DX11/openGL => barely faster

Conclusion, if you're an AMD owner, you have 3 solutions
* keep a 1-2 months "old" GSdx version (before April)/wait a new driver /Wait an DX12 or Vulkan port
* Buy an Nvidia card
Reply
#10
Note: you could read previous post as rant against AMD. Life would have been so much easier (for everyone, including me) if AMD was capable to deliver a fully working GPU driver.
Reply




Users browsing this thread: 1 Guest(s)