Up For Debate - Vulkan vs DirectX 12, Which is the Better Graphics API?

Written by Jon Sutton on Sat, Jul 15, 2017 2:00 PM

Moreso than with OpenGL, we’re seeing a fierce competition erupt between Microsoft’s DirectX 12 and Khronos Group’s Vulkan graphics APIs. Both have been relatively slow burners so far, with 20 released DirectX 12 titles and 21 Vulkan games, although it should be said that a large chunk of Vulkan titles are on mobile platforms.

What these two competing graphics APIs actually do is functionally the same. They are both concerned with optimising the rendering pipeline, so the actual performance benefits should be practically the same. They are each low-level APIs that pass off instructions from your CPU to your GPU, freeing up your CPU for other tasks.

The key differentiator is that Microsoft retains strict control over the platforms where DirectX 12 can be used, while Vulkan is open to all. To that end, DOOM developer id Software said: “using DX12 over Vulkan literally makes no sense.” Valve too has been outspoken on this matter, saying DirectX doesn't make a lot of sense.

From a developer perspective though, I should imagine Microsoft’s behind-the-scenes support for DirectX 12 development is also great, but this is pure conjecture at this point. You can also fully debug DirectX, whereas with Vulkan you can’t. DX12 also has strong Nvidia support, while it also makes it remarkably simple to get a game up and running on the Xbox One.

What is perhaps worrying for Microsoft is that despite DirectX 12 games largely being bigger names than Vulkan titles, just five upcoming games have confirmed DirectX 12 support. Of these five games, three are being published by Microsoft Studios. Star Wars Battlefront II and Assassin’s Creed Origins are the only upcoming third-party games with DX12 support confirmed. All five are sure to be huge titles, however.

DirectX 12 Vulkan
Caffeine Quake
Star Wars Battlefront Quake 3 Arena
Rise of the Tomb Raider Roblox
Gears of War: Ultimate Edition DOTA 2
The Division

Rust

Hitman GRID Autosport
Ashes of the Singularity The Talos Principle
Quantum Break Vainglory
Total War: Warhammer Score! Hero
Deus Ex: Mankind Divided Need for Speed: No Limits
The Turing Test Heroes of Incredible Tales
Forza Motorsport 6: Apex Dream League Soccer
Halo 5: Forge Ashes of the Singularity
Heroes and Generals Olympus Rising
Forza Horizon 3

DOOM

Gears of War 4 Mad Max
Battlefield 1 Galaxy on Fire 3 - Manticore
Civilization VI Ballistic Overkill
Sniper Elite 4 Warhammer 40,000: Dawn of War 3
Halo Wars 2 Ark: Survival Evolved
Forza Motorsport 7 Wolfenstein II: The New Colossus
Crackdown 3 Serious Sam Fusion 2017
Sea of Thieves Escape from Tarkov
Star Wars Battlefront 2 Geocore
Assassin's Creed Origins Serious Sam VR: The Last Hope
  Star Citizen

There’s also been one high-profile defect (and we suspect more to come) when Cloud Imperium Games opted to axe DirectX support entirely from Star Citizen. At the moment the incomplete game runs on DirectX 11, but CIG is moving the entire game to Vulkan because it “doesn't force our users to upgrade to Windows 10 and opens the door for a single graphics API that could be used on all Windows 7, 8, 10 & Linux.” It’s strong reasoning, and a difficult stance to argue against. While an estimated 50% of PC gamers (according to Steam’s hardware surveys) use Windows 10, that still leaves half of the PC gaming population unable to use DirectX 12 whatsoever. The benefit of Vulkan is that it is inclusive to all, regardless of platform and regardless of operating system. It is used in Windows games, mobile games, Linux games and Mac games.

As it stands, based on the quality of their respective libraries, DirectX 12 probably has the edge. It's also been out longer though, and it would be a totally different story were it not for Microsoft's own output. Based on what you've seen from the respective graphics APIs so far, which do you think will ultimately end up as the champion? Will Vulkan see widespread adoption? Or will Microsoft's billions save it again? Let us know!

Login or Register to join the debate

Rep
16
Offline
17:44 Jul-20-2017

I notice my current's rig IGPU supports both DirectX 12 and Vulkan. Now when running games, can it switch between these APIs or are they used together?

0
Rep
272
Offline
admin approved badge
21:17 Jul-20-2017

Most games will either use DX12 or Vulkan. There's no need to switch anything unless the game supports more than one API (Talos Principle, Hitman, ROTR, Deus Ex Mankind Divided)

1
Rep
191
Offline
junior admin badge
08:44 Jul-21-2017

Could you report the dif in fps pls. Thank you. :)

0
Rep
97
Offline
admin approved badge
15:09 Jul-21-2017

theres no way to switch between them. its an api that the gamer has now choice over unless the game is built like that (go from dx 11 to dx12 or open gl to vulkan). currently there are no games that use vulkan and dx12.
as for fps, that will vary depending on game and implementation.

0
Rep
191
Offline
junior admin badge
19:57 Jul-21-2017

Is there any noticeable difference in gameplay, when comparing games made in dx12 & vulcan (yes I do know that you can't compare the same game, but I was wondering if there is something that you can see between 2 dif games, that use the one of the two API-s)? Any info is appreciated.

0
Rep
45
Offline
20:25 Jul-21-2017

The only direct comparison I know of is the API overhead test in Firestrike, it isn't exactly gameplay but it compares draw calls between different API's. Gameplay wise there are too many factors for an "apples to apples" comparison without a particular game that supports both.

1
Rep
191
Offline
junior admin badge
20:36 Jul-21-2017

Thx for all the info. I guess it's still to up in the air to have a direct comparison. Maybe in time that will change.

0
Rep
97
Offline
admin approved badge
18:30 Jul-17-2017

dx12 did have its problems. GoW:ue was a horrible game that until recently wouldn't even run on my desktop. the whole thing was made worse because it was going to be the defining game to show what dx12 was capable of. RotTR got a dx12 patch in name only. after getting that squared away it does better. vulkan for doom was good from the start because id wouldn't release it, even if it was late, until it performed better than opengl (even if only in hardware usage). big titles like that are what people remember and use to bash dx12. talos principle is a relatively small game that no one realized did worse with vulkan.

1
Rep
97
Offline
admin approved badge
18:35 Jul-17-2017

the dota 2 update with vulkan ran so bad I reinstalled windows thinking there was a problem. GoW4 (even though its freaking huge) ran so good on my systems that I wish doom made use of vulkan in the same way.
what im saying is its going to take time to get things straight on both ends. until then the road is going to be very bumpy but the end product should be more optimized games.

1
Rep
22
Offline
19:44 Jul-16-2017

Even Spock supports Vulkcan

8
Rep
191
Offline
junior admin badge
19:53 Jul-16-2017

XDXDXDXDXDXDXDXDXDXDXDXDXDXD
Awesome just awesome. :)

3
Rep
191
Offline
junior admin badge
18:30 Jul-16-2017

Vulcan all the way. :)

2
Rep
272
Offline
admin approved badge
14:24 Jul-16-2017

I feel like there's a lot of misunderstanding here, so let's dive right into it...


The obvious (Vulkan being multi-platform) aside - people seem to think DX12 is worse than DX11 because of botched attempts by Square Enix to launch it before they properly implemented it. Benchmarks were made and everyone's crapping on DX12. But the real deal is that with proper implementation after a few updates here and there - DX12 versions run signifficantly better than DX11! At least it certainly was the case with my HITMAN experience - DX12 went from plain unusable, to on-par, to "holy sh*t!" within a matter of -6 months.

4
Rep
272
Offline
admin approved badge
14:27 Jul-16-2017

Now let's think about Vulkan. DOOM was a success, right? But how long did we wait for it to drop after DOOM came out, even though it was promised to us before the game even launched? For some it made no difference, for some - a small one, for some - an ok one. Let's not pretend that DOOM Vulkan made the game go from 100fps to 200fps or anything.
But likewise - fails happen too! When I Vulkan support dropped for the Talos Principle - I jumped right in to test it...and the performance was HORRIBLE. Consider my rig before you question it. I'm sure the support is better now, but the devs did warn that Vulkan at the time was not intended for gaming just yet.

0
Rep
272
Offline
admin approved badge
14:30 Jul-16-2017

So in conclusion... I voted that BOTH APIs are pretty much on-par. I know it's a controvertial vote, but I simply cannot be blinded by development problems on the developer side - after all, BOTH APIs are more difficult to code for because of that low-level access. What used to be taken care of by DX11's or OGL's extra layers of code filth is now pretty much up to the devs to code in. Speed for complexity. It's not something for nothing.
From what I've seen - both APIs, when used correctly are very capable contenders and I'd be hard-pressed to pick one. But since I'm a Windows 10 guy - they are BOTH equal to me and games run great on BOTH.

1
Rep
45
Offline
15:09 Jul-16-2017

You pretty much hit the nail on the head. I slightly better fps in Tomb Raider and Deus Ex (maybe 5%) but The Division runs about 30% faster using DX12 on my rig. The only Vulkan game I have played is Doom which ran worse than OGL for me at the time because I was running sli. I get the open source argument if people don't want to use windows 10 for whatever reason but for me it's way to early to declare a winner. Like you said it comes down to the way either API is implemented.

4
Rep
45
Offline
15:11 Jul-16-2017

I'd like to see more big titles use Vulkan but DX12 will be the most common.

1
Rep
272
Offline
admin approved badge
17:41 Jul-16-2017

You will find that a lot of the heat for DX12 comes from people's unreasonable hate for Win10 (which in and of itself is a completely different topic altogether). I can understand that some people like their good ol'e Win7 and can't be bothered to move and DX12 being bound to Win10 (admitedly, as a ploy to get more people onboard the new OS) is therefore an issue. But for those of us living in the present - there's really no difference whether the game comes out using DX12 or Vulkan - we'll be able to run either. I'm not bothered about multi-platform support either - consoles don't interest me (especially if I buy a PC version), AAA games don't port to mobile and Linux simply isn't for me...

0
Rep
272
Offline
admin approved badge
17:45 Jul-16-2017

Being totally reasonable about multi-platform support of Vulkan - I can say that it adds no value to me and, in fact, most people. So then it becomes somewhat of a moot point.


And let's face it - if people are fighting moving to Win10 from Win7/8 - are they really going to do something even more drastic and move to Linux or MacOS, of all things? Only a handful of people here and there do, but you will find that they do so for completely different reasons too - usually content creation, server use or programming - not for gaming.
Mobile - not powerful enough to run the new titles even if they ported. Consoles? Why own a PC AND a console copy?


So is multi-platform REALLY relevant..?

0
Rep
272
Offline
admin approved badge
17:51 Jul-16-2017

Some will argue that more options is better than fewer options when it comes to choosing games - and that's a perfectly valid argument. But once again - an absolute majority of gamers won't move from Windows for many more reasons than just games, what comes out elsewhere doesn't concern them and this "Vulkan YAY, DX12 NAY!" fad is just that - a fad. Nothing wrong to cater for the Linux community, but it's comparatively really small and mostly composed of low-end devices (where Linux shines), not gaming rigs, so even then the devs aren't gaining that much more if they release a AAA title for Linux...


Things that most people don't think about...

0
Rep
45
Offline
18:15 Jul-16-2017

If Steam machines running Steam OS had taken off in the way Valve expected we would no doubt be seeing a lot of games ported to Vulkan but as they seem to have disappeared most developers will continue using DX like they have for the last 20 years. Vulkan will be just like OpenGL, used in very few games regardless of whether it's better than DX12 or not.

1
Rep
272
Offline
admin approved badge
00:20 Jul-17-2017

Very true! It's a very unfortunate cycle... New platform launches: Need games to attract buyers > Need buyers for devs to make games > buyers don't buy because there are no games > devs don't develop because there are no buyers > rinse/repeat.

1
Rep
-13
Offline
13:27 Jul-16-2017

vulkan is way better than directx12 crap......... felt the differece when playing on with different api......... vulkan is the BEST

0
Rep
272
Offline
admin approved badge
14:11 Jul-16-2017

Which games did you play that let you swap between the two for an unbiased check where the differences in game engine and content do not translate to different performance levels?
DOOM (Vulkan) vs Hitman (DX12) is as fair a comparison as comparing the speed of a truck on the highway vs a lambo in a traffic jam xD

5
Rep
386
Offline
admin approved badge
11:46 Jul-16-2017

No idea, I haven't used any of them.

3
Rep
-13
Offline
13:28 Jul-16-2017

U HAVE RYZEN CPU THEN YOU SHOULD TRY IT ESPECIALLY VULKAN

1
Rep
35
Offline
14:06 Jul-16-2017

He may not own any games that support either APIs.

1
Rep
386
Offline
admin approved badge
08:15 Jul-17-2017

I meant that I have no programmed on any of them...

2
Rep
386
Offline
admin approved badge
08:16 Jul-17-2017

It's stupid to judge APIs based on games. So far all vulcan games are much simpler and lighter in general, no wonder they run better.
Otherwise from the list above, I have rise of the tomb raider, BF1, Civ VI, Deus Ex:MD and Hitman and from the Vulcan games I have Doom and I have a copy of Quake 3, but no idea where it is.

3
Rep
-10
Offline
10:28 Jul-16-2017

Windows 10 is more and more bad with unnecessary programs, apps... from MS. I don't think Dx12 is the best choice..!

0
Rep
157
Offline
admin approved badge
06:32 Jul-16-2017

Vulkan, it both provides higher boost to performance and is available on every OS, plus it is open source.

8
Rep
97
Offline
admin approved badge
03:08 Jul-16-2017

Vulkan is superior in everyway. It is cross platform, it challenges Microsoft's monopoly and it does indeed improve performance.

14
Rep
18
Offline
01:58 Jul-16-2017

Volcan is better than DirectX 12 and you can see that in a game such as Doom 2016,the framerates in The Game was better with volcan unlike DirectX 12.

5
Rep
191
Offline
junior admin badge
02:48 Jul-16-2017

No doubt about than. :)

0
Rep
210
Offline
admin approved badge
06:33 Jul-16-2017

Doom 2016 does not have DirectX 12. Doom 2016 is only Vulkan and OpenGL... but yes OpenGL got destroyed by Vulkan lol. Also the game was even better when that plague denuvo was removed... the performance improvement was surprisingly big on older/weaker pc components.


p.s. It Vulkan not Volcan :P

9
Rep
191
Offline
junior admin badge
07:10 Jul-16-2017

I didn't even see that. :)
Thx for the lolz. XD

1
Rep
18
Offline
09:20 Jul-16-2017

Sorry,it is my fault,you are right it was two options Vulkan and OpenGL.I apologize again about my false information.

4
Rep
191
Offline
junior admin badge
14:01 Jul-16-2017

No need to apologize. Ppl do it to much these days.
Don't apologize for something like that.
Only apologize if u really fell & think it is necessary (don't do it because of peer pressure or for society).

1
Rep
210
Offline
admin approved badge
21:22 Jul-16-2017

Its ok dude... in the end most here on GD (i know i am) are here to learn about technology and of course gaming :)

2
Rep
191
Offline
junior admin badge
07:20 Jul-17-2017

I fell the same. :)

0
Rep
7
Offline
23:24 Jul-15-2017

does this really have to be said? dx12 has proven to be garbage reducing frames every time

7
Rep
386
Offline
admin approved badge
11:47 Jul-16-2017

Wrong... do NOT blame the API, because developers can't code for it...

3
Rep
35
Offline
14:11 Jul-16-2017

There have been no good implementations of DX12 that I know of (maybe excluding Hitman). Vulkan has had one fantastic one in DOOM and there are surely more that I'm not aware of. I think DX12's downfall will be that it's exlusive to MS platforms, regardless of whether it's easier to code around, has better debug support and is overal easier to implement than Vulkan or not.

0
Rep
272
Offline
admin approved badge
14:15 Jul-16-2017

DOOM has had success with Vulkan because it was developed in OGL originally and id have many decades of experience with OGL. The Talos Principle had HORRIBLE performance when I tried it when Vulkan came out for it (I'm sure it's better now), just like Hitman was terrible when they plopped DX12 on it. Right now, however, DX12 blows DX11 performance out of the water in Hitman as more time passed and IOI got it sorted out.


The unfortunate bit is that with the new low-level access DX12 and Vulkan are harder to code for. So implementations can be dodgy. Don't forget how loong it took for DOOM to get Vulkan support after launch.

1
Rep
35
Offline
14:22 Jul-16-2017

Thanks for the clarification! :) It really feels like "DX12 support" in games is, like you said, plopping DX12 on it and not properly implementing it/not utilising all its features (correctly).
For the harder-to-code part, I would expect DX12 to have much better debug tools and support from MS (they seem to have debug tools for literally all their services) than Vulkan gets from Khronos.

0
Rep
272
Offline
admin approved badge
14:35 Jul-16-2017

That's probably why you see more AAA games pumping out for the DX12 side than Vulkan - support, as dumb as it may seem, is very important in corporate environments (and let's not pretend that game developers don't belong to large companies).
As far as I've seen both DX12 and Vulkan had they boo-boos and, when implemented correctly, they are both amazing APIs. I would dread using DX11 in HITMAN now that I know what kind of performance I get in Marrakesh in DX12 (the large number of NPCs chokes DX11).

1
Rep
35
Offline
15:25 Jul-16-2017

"support, as dumb as it may seem, is very important in corporate environments"


Can confirm.
Source: currently working a part-time job with a sysadmin.

1
Rep
210
Offline
admin approved badge
23:11 Jul-15-2017

Vulkan all the way... Vulkan is freedom, Vulkan is love :D... Vulkan is the future of PC gaming and hope that it only becomes better with time !


The sad part is that DX11 is better then DX12, so it seems DX12 is like DX10 v2 lol

3
Rep
50
Offline
08:53 Jul-16-2017

depends on the game; Ashes runs so much better on newer graphics cards in DX12, same with Total War: Warhammer, The Turing Test runs basically the same in DX11 and DX12 on Polaris, like the exact same, down to how much the CPU is loaded, just the textures look a bit better in 12, memory use is a little higher and transitions are smoother. I'll still take DX12 over DX11 just for better multi thread utilization

6
Rep
35
Offline
14:13 Jul-16-2017

"DX11 is better then DX12"



Sauce pls, and quote a developer or somebody who has worked with both versions of DX, not benchmarks.

0
Rep
272
Offline
admin approved badge
14:17 Jul-16-2017

HITMAN runs crazy good on DX12 and quite poorly in comparison on DX11. That's a game I played and, while at launch the DX12 implementation sucked, it's waaay better now.
Likewise - same happened with Vulkan on Talos Principle. I played it when it got Vulkan support and the performance was horrible. I'm sure it's better now.

1
Rep
50
Offline
22:07 Jul-15-2017

it depends on the barrier of entry when it comes to coding honestly, and that looks like Vulcan to me. I'm not ruling in actual game performance or any of that, what matter way more is ease of coding and if one is easier on one than the other, it is superior in my eyes because implantation in games, optimizations and updates are going to be way more wide spread

2
Rep
17
Offline
19:57 Jul-15-2017

Has to be Vulkan mostly because DX12 has worse performance than DX11

0
Rep
272
Offline
admin approved badge
14:19 Jul-16-2017

Don't know about other games, but it's nowhere near the case with Ashes or HITMAN.
Square Enix had a bad habit of launching DX12 support too early and it got a bad name, but after numerous updates DX12 versions of their games (Hitman, ROTR, Deus Ex) run way better on DX12.
Likewise when Vulkan came out for the Talos Principle - the performance was horrid. I'm sure it's better now.

1
Rep
45
Offline
18:55 Jul-15-2017

I've seen performance gains with both, although not the gains that where promised in the marketing material. I'd like to see more of Vulkan but with DX being the main API for the last 20 years I doubt that's going to change.

3
Rep
159
Offline
admin approved badge
18:53 Jul-15-2017

So far DX12 only made things worse. Almost every game runs better on DX11 than DX12. In contrary, Vulkan served as a big benefit to almost every game that implemented it. Plus it is compatible with a lot of platforms. So to me Vulkan is by far the better option.

5
Rep
7
Offline
18:50 Jul-15-2017

Vulkan,


and why is the poll closed July13 2017, when this article was published @ 15 July 2017 at 14:00 ???

16
Rep
356
Offline
19:23 Jul-15-2017

Your cpu is screaming for new gpu ;D

11
Rep
30
Offline
18:25 Jul-15-2017

Vulkan is just so incredibly important to the future of PC gaming.

6
Rep
27
Offline
18:02 Jul-15-2017

Vulkan, just because there is that THING somehow existing - called $YouAintGettingAnyPrivacyNowYourSoulIsAllMine 10.

6

Can They Run... |

Xeon Processor X5690 GeForce GTX 1070 Zotac AMP! Xtreme 32GB
| 60FPS, Medium, 1080p
Core i7-870 Quad 2.93GHz GeForce GTX 560 Ti 448 Edition 12GB
| 60FPS, Ultra, 1080p
Core i9-10900X 10-Core 3.7GHz GeForce RTX 2070 Super Gigabyte Gaming OC 3X 8GB 32GB
| 60FPS, Ultra, 1080p
Core i7-7700K 4-Core 4.2GHz Intel HD Graphics 630 Mobile 32GB
0% No [2 votes]
| 60FPS, Ultra, 1080p
Core i7-4770K 4-Core 3.5GHz GeForce RTX 2080 EVGA XC Gaming 8GB 16GB
100% Yes [1 votes]
| 60FPS, Medium, 1080p
Ryzen 7 3700X 8-Core 3.6GHz GeForce GTX 1660 Ti Zotac Gaming 6GB 16GB
100% Yes [1 votes]
| 60FPS, High, 1080p
Core i5-11400H 6-Core 2.20GHz GeForce RTX 3050 Mobile 8GB
| 30FPS, 720p
Core i7-5500U 2-Core 2.4GHz GeForce 940M 2GB 8GB
| 60FPS, High, 1080p
Core i7-3770 4-Core 3.4GHz GeForce GTX 1070 Gigabyte G1 Gaming 8GB Edition 16GB
| 60FPS, High, 1080p
Core i7-10750H 6-Core 2.60GHz GeForce RTX 3060 Mobile 16GB
100% Yes [1 votes]
| 60FPS, Low, 1080p
Core i5-6400 2.7GHz GeForce GTX 1050 8GB
| 60FPS, Ultra, 1440p
Core i5-9600K 6-Core 3.7GHz GeForce RTX 2060 Asus ROG Strix Gaming OC 6GB 32GB
| 60FPS, High, 1080p
FX-6300 GeForce GTX 760 24GB
0% No [1 votes]
| 30FPS, Ultra, 1080p
Core i5-11400H 6-Core 2.20GHz GeForce RTX 3050 Mobile 8GB
| 30FPS, High, 1080p
Core i5-11400H 6-Core 2.20GHz GeForce RTX 3050 Mobile 8GB
100% Yes [2 votes]
| 60FPS, High, 1080p
Core i5-11400H 6-Core 2.20GHz GeForce RTX 3050 Mobile 8GB
| 60FPS, High, 1080p
Core i5-11400H 6-Core 2.20GHz GeForce RTX 3050 Mobile 8GB
100% Yes [3 votes]
| 60FPS, High, 720p
Athlon II X4 640 Radeon RX 470 Asus ROG Strix Gaming OC 4GB 8GB
100% Yes [2 votes]
| 30FPS, Low, 720p
Core i7-4710MQ 4-Core 2.5GHz GeForce GTX 960M 2GB 16GB
| 30FPS, Low, 720p
Pentium G2030 3.0GHz Radeon HD 4650 1GB 4GB