OpenGL vs Vulkan in DOOM

FrgMstr

Just Plain Mean
Staff member
Joined
May 18, 1997
Messages
56,349
John over at eTeknix does a deep dive on OpenGL and Vulkan in DOOM. For what it is worth, we had a hell of time too getting PresentMon to work with DOOM, but finally figured out the hoops we needed to jump through. He also covers a large group of GPUs from GTX 1080 and Fury X down to 380X and 960. For it is worth, it looks like his data lines up with ours that we have been seeing in GPU reviews.

In summary, Vulkan isn’t just a small boost for AMD graphics cards, it provides a humongous performance improvement which cannot be overemphasised. If you own an AMD product, please turn on Vulkan because you’ll have a smoother, more consistent user-experience. This also applies to NVIDIA users, but I’d recommend doing some additional testing to ensure the frame-rate is higher.
 
I have to attest that Vulkan is mind blowing. GotY contender and looks to be a first round knock out. On my 290 I can max out everything except DoF and radial blur as I never use those, for 109-120fps, this with a 8350@ 4.0ghz (haven't tried my usual 4.66ghz that I game at).
 
Vulkan mind blowing? No. It's a thin API.

What blows my mind is how awful AMD's opengl and directx drivers are. Amazingly, when mostly bypassed (DX12, Vulkan) AMD cards show they are quite good hardware.

We do have a new can of worms in putting per-card optimization in the hands of game devs, but we'll have to see how that plays out.
 
They should have used that tool that AdoredTV made for benchmark Vulkan/DX12. Uh oh, I said the 'A' word.
 
Hmm, yet another analysis that doesn't mention any latency/stuttering with Vulkan. So far I've yet to see any benefits with Vulkan on my system since it introduces stuttering and audio issues despite keeping a rock solid 60fps throughout. I can't seem to find any evidence that this is normal so it could just be my set up.
 
Hmm, yet another analysis that doesn't mention any latency/stuttering with Vulkan. So far I've yet to see any benefits with Vulkan on my system since it introduces stuttering and audio issues despite keeping a rock solid 60fps throughout. I can't seem to find any evidence that this is normal so it could just be my set up.

It might be your gpu platform as nvidia card's don't gain much going to vulkan. Yer better off on ogl? On amd in my little time testing Doom on a 290x, the experience on vulkan was incredibly good.
 
Hmm, yet another analysis that doesn't mention any latency/stuttering with Vulkan. So far I've yet to see any benefits with Vulkan on my system since it introduces stuttering and audio issues despite keeping a rock solid 60fps throughout. I can't seem to find any evidence that this is normal so it could just be my set up.

When I first tried to fire up DOOM with Vulkan, it crashed upon startup. I needed to download the newest Nvidia drivers for it to work. Since then it's been running great, no stuttering that I've seen. I'm running driver version 368.81. YMMV though, good luck.

Edit: I'm running a GTX 980Ti
 
The claims of AMD performance boost in Doom using vulkan are still a bit up in the air. There was 1 site that used older slower cpu's which would likely be what person that buys a rx 480/1060 card and when cpu is more limited in performance. The performance of AMD rx 480 in doom well to be blunt looks like it tanks a bit. As you can see in the image below. This has mostly been unseen issue since all reviewers use high end i7 cpu's to do their testing.
JF7ngP5.png
 
Hmm, yet another analysis that doesn't mention any latency/stuttering with Vulkan. So far I've yet to see any benefits with Vulkan on my system since it introduces stuttering and audio issues despite keeping a rock solid 60fps throughout. I can't seem to find any evidence that this is normal so it could just be my set up.

I'm getting the bad latency and stuttering as well on my 1080. I've also noticed there are areas of the game where Vulkan gives me a performance decrease and other areas where I get an increase. If the areas where there is a performance decrease are fixed then that would be enough to make Vulkan more viable on Pascal cards and it may increase its benchmark numbers by a lot. As of now I'm sticking with OpenGL because it doesn't have the bad frame latency and the game play is already buttery smooth with it. I'm just glad that the frequent CTD's are finally fixed so I can play the game again.
 
I'm getting the bad latency and stuttering as well on my 1080. I've also noticed there are areas of the game where Vulkan gives me a performance decrease and other areas where I get an increase. If the areas where there is a performance decrease are fixed then that would be enough to make Vulkan more viable on Pascal cards and it may increase its benchmark numbers by a lot. As of now I'm sticking with OpenGL because it doesn't have the bad frame latency and the game play is already buttery smooth with it. I'm just glad that the frequent CTD's are finally fixed so I can play the game again.

I'm glad it's not just me.

I am using the latest nVidia drivers and the game is fully patched. It's a non-issue for me that Vulkan isn't enjoyable for me since, like you, I don't have any issue with this game using the OpenGL API but I hope this isn't indicative of the performance of other Vulkan games on my system.
 
I'm glad it's not just me.

I am using the latest nVidia drivers and the game is fully patched. It's a non-issue for me that Vulkan isn't enjoyable for me since, like you, I don't have any issue with this game using the OpenGL API but I hope this isn't indicative of the performance of other Vulkan games on my system.

I feel that Vulkan Doom just needs some work on the Nvidia side. It's pretty clear to me that it was mainly designed for AMD cards out of the gate and it's not running as good as it could on Nvidia cards. Good thing OpenGL already works perfectly fine on Nvidia cards.
 
I feel that Vulkan Doom just needs some work on the Nvidia side. It's pretty clear to me that it was mainly designed for AMD cards out of the gate and it's not running as good as it could on Nvidia cards. Good thing OpenGL already works perfectly fine on Nvidia cards.
Vulkan uses AMD shaders so that is a big portion of the performance boost. They (Doom devs) talked about AMD shaders months back. There is some async in the game hence Pascal getting some performance increases with Vulkan but nothing huge.
 
My performance increase in Doom was so high I did a double take. It felt like crossfire was working for a second. Just imagine proper SFR in Vulkan and I'd have gotten 250% improvement just from better software.
 
Vulkan uses AMD shaders so that is a big portion of the performance boost. They (Doom devs) talked about AMD shaders months back. There is some async in the game hence Pascal getting some performance increases with Vulkan but nothing huge.

Yes, but since there are areas where Vulkan Doom is getting a performance decrease on Pascal cards means there's still some fine tuning to be done. I'm not talking about anything super crazy just them simply getting Vulkan on par with or better than OpenGL in every area of the game, not just some areas of some levels.
 
Vulkan mind blowing? No. It's a thin API.

What blows my mind is how awful AMD's opengl and directx drivers are. Amazingly, when mostly bypassed (DX12, Vulkan) AMD cards show they are quite good hardware.

It's worth noting ATI/AMD has a VERY long history of crappy OpenGL drivers. Anyone remember how AMD cards performed when Doom 3 launched? Most of AMDs gain in Doom is bypassing a code path they simply never optimized for.

We do have a new can of worms in putting per-card optimization in the hands of game devs, but we'll have to see how that plays out.

As a developer, this WILL become a massive problem going forward. I fully expect 4-5 years down the road some oddball cases where brand new high end GPUs perform WORSE due strictly to architectural changes not being accounted for within game code.
 
Waited for Vulkan to buy the game before the demo was updated.

Difference between the ogl demo and the game in Vulkan, is like buying a new card a generation or two up. Night and Day.
I'd love to see more use of this in future titles.

And to the people saying it's all down to async, you can test this by enabling an AA option that isn't the 8xTSMMSMSSMSsssaa option or no AA. Any other AA option disables async. There is not a huge noticeable performance difference. It's a tiny bit less smooth in some parts with a quick test but nothing gameplay breaking.
 
Waited for Vulkan to buy the game before the demo was updated.

Difference between the ogl demo and the game in Vulkan, is like buying a new card a generation or two up. Night and Day.
I'd love to see more use of this in future titles.

And to the people saying it's all down to async, you can test this by enabling an AA option that isn't the 8xTSMMSMSSMSsssaa option or no AA. Any other AA option disables async. There is not a huge noticeable performance difference. It's a tiny bit less smooth in some parts with a quick test but nothing gameplay breaking.

I mean, it's pretty clearly not all from async. That's just another nice bonus on top of the other wins.

On my 1080, in heavy scenes (argent tower) I could see like an upwards of 3-4ms lower CPU time - on an overclocked 6700k. That's a really solid chunk of performance.
 
Vulkan mind blowing? No. It's a thin API.

What blows my mind is how awful AMD's opengl and directx drivers are. Amazingly, when mostly bypassed (DX12, Vulkan) AMD cards show they are quite good hardware.

We do have a new can of worms in putting per-card optimization in the hands of game devs, but we'll have to see how that plays out.

It's funny to watch people loose their minds over that their hardware performs as expected...but be 100% unable to see that this is not because AMD's DirectX12 and Vulcan drivers are super, but simply because they don't suck donkeyballs as AMD's DirectX 11 and OpenGL drivers.

Scary shite...
 
I mean, it's pretty clearly not all from async. That's just another nice bonus on top of the other wins.

On my 1080, in heavy scenes (argent tower) I could see like an upwards of 3-4ms lower CPU time - on an overclocked 6700k. That's a really solid chunk of performance.

NVIDIA's architechture is bad target for Async shaders, as unlike AMD, NVIDIA doesn't have problems keeping it pipeline utilized.

But a lot of people seem to have a hard time grasping that "complicated" concept...
 
Vulkan mind blowing? No. It's a thin API.

What blows my mind is how awful AMD's opengl and directx drivers are. Amazingly, when mostly bypassed (DX12, Vulkan) AMD cards show they are quite good hardware.

We do have a new can of worms in putting per-card optimization in the hands of game devs, but we'll have to see how that plays out.
People keep saying this but the truth is the DX11/OpenGL API sucks for exposing the hardware AMD has. The real meat and potatoes of DX12/Vulkan is exposing Async Compute, which you just can't do in DX11. No amount of driver optimizations will get mutlithreading and Async Compute working in DX11/OpenGL. Nvidia built their hardware around DX11 and OpenGL, and that's why they perform so well, but that's also why they gain almost nothing from DX12/Vulkan.
 
NVIDIA's architechture is bad target for Async shaders, as unlike AMD, NVIDIA doesn't have problems keeping it pipeline utilized.

But a lot of people seem to have a hard time grasping that "complicated" concept...
The top is how Nvidia keeps their pipeline utilized, but the middle is how AMD does it. But again, Nvidia built their hardware around this limitation and has done well doing so, but obviously with Async Compute, AMD does better.

pastedImage_5.png
 
The top is how Nvidia keeps their pipeline utilized, but the middle is how AMD does it. But again, Nvidia built their hardware around this limitation and has done well doing so, but obviously with Async Compute, AMD does better.

pastedImage_5.png

In your cherrypicked, oversimplified senario yes.

In the real world, NVIDIA still has the DirectX12 performance crown, so what where you trying to illustrate?
Specifically?
 
In your cherrypicked, oversimplified senario yes.

In the real world, NVIDIA still has the DirectX12 performance crown, so what where you trying to illustrate?
Specifically?

Don't mistake outright performance crown due to brute force as being the technical leader for the API.
 
Why bother with the highly technical and tuned solution if you can just brute force it?

At the end of the day, which one gives better performance?
 
NVIDIA's architechture is bad target for Async shaders, as unlike AMD, NVIDIA doesn't have problems keeping it pipeline utilized.

But a lot of people seem to have a hard time grasping that "complicated" concept...

So, in other words, my precious Nvidia does not get any real improvement with Vulkan in Doom 2016. Therefore, I will bash others who do not own my precious Nvidia. LOL :D
 
Because Pentium 4 Presshot Extreme Egg Frying Edition.
Except nVidia's high end "Brute Force(tm)" offerings crush the RX 480 in straight performance, performance per watt while at lower temps.
 
Because Pentium 4 Presshot Extreme Egg Frying Edition.

The 1070, 1080 and Titan XP are all putting out far more perf/watt than AMD though. Even after AMD's marketing was touting perf/watt as their number one priority.

I think the only thing you can really hit Nvidia on right now is high cost...
 
The 1070, 1080 and Titan XP are all putting out far more perf/watt than AMD though. Even after AMD's marketing was touting perf/watt as their number one priority.

I think the only thing you can really hit Nvidia on right now is high cost...

Yeap, obviously Nvidia leads in power efficiency. And AMD's statements were confined to reducing their "own" power deficiencies, not in relation to Nvidia. But all that is besides the point to the core of Vulkan, which is that AMD is doing it by better design vs Nvidia's brute force. It won't be for a while, but it should finally turn interesting when finally AMD releases Vega and the vegans will rejoice or something. Then we'll see how on the same class of cards, how the two philosophies will differ.
 
I blame AMD for that.

AMD would do the same thing if they were on top. If you don't have competition, you charge what the market will pay.

Yeap, obviously Nvidia leads in power efficiency. And AMD's statements were confined to reducing their "own" power deficiencies, not in relation to Nvidia. But all that is besides the point to the core of Vulkan, which is that AMD is doing it by better design vs Nvidia's brute force. It won't be for a while, but it should finally turn interesting when finally AMD releases Vega and the vegans will rejoice or something. Then we'll see how on the same class of cards, how the two philosophies will differ.

We are up for some interesting times. I would personally like to see a few more titles using Vulkan before decisions are made. In DOOM at least, it's very clear AMD is making excellent use of their hardware at max efficiency. But will that be true in every title? Or is it going to be highly dependent on the developers for each game to tune things? There's something to be said for each approach, both the tuning and the pure horsepower methods. Sadly the tuning method requires a lot of time and energy by AMD and the game developers on every single title. The pure horsepower method on the other hand...

AMD has a lot riding on Vega and Zen, hopefully they both succeed. When there's healthy competition, we all win.
 
AMD would do the same thing if they were on top. If you don't have competition, you charge what the market will pay.



We are up for some interesting times. I would personally like to see a few more titles using Vulkan before decisions are made. In DOOM at least, it's very clear AMD is making excellent use of their hardware at max efficiency. But will that be true in every title? Or is it going to be highly dependent on the developers for each game to tune things? There's something to be said for each approach, both the tuning and the pure horsepower methods. Sadly the tuning method requires a lot of time and energy by AMD and the game developers on every single title. The pure horsepower method on the other hand...

AMD has a lot riding on Vega and Zen, hopefully they both succeed. When there's healthy competition, we all win.

Sorry, I don't think its tuning. The data up to now has shown it to be compute oriented. Nvidia doesn't do compute well, specifically asynchronously, so they ramp clocks up and brute force it with some tweaks to make the hole not so punitive. It seems to minimize their deficiency pretty well. Anyways, the whole point of Mantle was for AMD to move away from tuning per title because the fact of the matter is they do not have the funds to support endeavors like that and they in no way could compete with Nvidia when it came to a race of who could tweak games and drivers and faster. The whole premise of a low level API is to move away from that and put the onus on the developer to do what they historically did, but have lost control over the years thru MS and their DirectX control issues. Anyways, it's getting to be a long tangent but I hope that made sense.
 
Sorry, I don't think its tuning. The data up to now has shown it to be compute oriented. Nvidia doesn't do compute well, specifically asynchronously, so they ramp clocks up and brute force it with some tweaks to make the hole not so punitive. It seems to minimize their deficiency pretty well. Anyways, the whole point of Mantle was for AMD to move away from tuning per title because the fact of the matter is they do not have the funds to support endeavors like that and they in no way could compete with Nvidia when it came to a race of who could tweak games and drivers and faster. The whole premise of a low level API is to move away from that and put the onus on the developer to do what they historically did, but have lost control over the years thru MS and their DirectX control issues. Anyways, it's getting to be a long tangent but I hope that made sense.

I get what you're saying. That's exactly why I'd like to see a few more Vulcan or pure DX12 titles to really judge how things will work in the real world. Ideally there wouldn't be anything required, and both hardware paths would be identical for software developers and they'd get max performance from either platform. But in reality, there's just too much difference between the two, so they're going to have to make some changes here or there to optimize things. Properly using async compute/shaders/<insert feature here> may allow AMD to make 100% efficient use of their hardware compared to Nvidia. But if Nvidia's cards are 150% faster, they don't need to bother with the extra feature.

AMD has a highly tuned 4 banger with a turbo, and Vulkan gives them a supercharger with some DX12 nitrous. Nvidia just dropped a monster V8 instead (that remarkably gets better gas mileage, but I digress). AMD's solution may be seem more elegant, and somehow more technologically advanced. But at the end of the race, Nvidia is taking the checkered flag.
 
First it was Windows 10. Then DX12. Then Async Compute. Then Async Shaders. Now it's Vulkan. Anyone want to predict when AMD will take over the world?

At some point you need to stop waiting for Jesus to come and just play games.
 
AMD has a highly tuned 4 banger with a turbo, and Vulkan gives them a supercharger with some DX12 nitrous. Nvidia just dropped a monster V8 instead (that remarkably gets better gas mileage, but I digress). AMD's solution may be seem more elegant, and somehow more technologically advanced. But at the end of the race, Nvidia is taking the checkered flag.

Careful with them 4 cylinder turbos. *Though I'm not specifically equating amd with 4cyls, but who doesn;t love a good segue to cars?

 
Careful with them 4 cylinder turbos. *Though I'm not specifically equating amd with 4cyls, but who doesn;t love a good segue to cars?


"An almost ludicrous amount of power" - ludicrous speed not yet achieved? Ludicrous speed with a pic of Dark Helmet would have been better Pitan XP marketing than "irresponsible"
 
People keep saying this but the truth is the DX11/OpenGL API sucks for exposing the hardware AMD has. The real meat and potatoes of DX12/Vulkan is exposing Async Compute, which you just can't do in DX11. No amount of driver optimizations will get mutlithreading and Async Compute working in DX11/OpenGL. Nvidia built their hardware around DX11 and OpenGL, and that's why they perform so well, but that's also why they gain almost nothing from DX12/Vulkan.

"People keep saying this" because we're looking at data and determining what can and cannot be true. For example, it cannot be the case that async compute is what is driving AMD's massive performance improvement if settings which enable async compute are within a couple FPS of the settings which disable it. AMD is still getting the HUGE performance boost on Vulkan without async compute.

So no, the benefits of DX12/Vulkan really don't have that much to do with async, which is just a tweak to allow simpler use of otherwise-idle shaders. If your shaders are occupied already, it doesn't get very much for you.

It is not clear to me why people keep trotting out async compute as though it were some magic Go Faster button. It really isn't. It's a tool which can, in some workloads, allow better shader utilization.
 
Back
Top