Vulkan vs DX12

There has been a lot of talk about Vulkan these past few days since support was launched for Doom and it showed massive improvements for AMD GPU's. I'm not very well informed about API's and the technology behind them, so what are the basic differences between DX12 and Vulkan?

I am aware that Vulkan support most platforms (Windows, BSD/Unix, OSX, Android etc) and that DX12 is a Windows standard but what are the disadvantages of Vulkan? Some people just go and on about how amazing Vulkan is and I admit the recent improvements we've seen in Doom is impressive (for AMD cards) but there has to be some major disadvantages, otherwise everyone would be developing for Vulkan. From what I've seen there is virtually no performance decrease for Nvidia GPUs running Vulkan so why even bother with DX12?

Please don't turn this into a flamewar, I'm not biased towards any side, I would just like some (simple and easy to understand) information about the future of gaming API's.

Other urls found in this thread:

youtube.com/watch?v=XOGIDMJThto
youtube.com/watch?v=zh2svARKcDM
youtu.be/WOaHpZjQ73M
youtu.be/ZCHmV3c7H1Q
twitter.com/axelgneiting/with_replies
khronos.org/members/contributors
eurogamer.net/articles/digitalfoundry-2016-doom-vulkan-patch-shows-game-changing-performance-gains
theinquirer.net/inquirer/news/2462450/about-a-third-of-valve-staff-working-on-vr-games-instead-of-half-life-3
twitter.com/NSFWRedditImage

youtube.com/watch?v=XOGIDMJThto

Because Microsoft

Vulkan has zero disadvantages other than the fact that it's not being backed by Microsoft. The reason it's not being used more is because Microsoft literally bribe developers to use DX12.

Vulkan is just AMD's Mantle in the hands of someone else refining it. Happy we're not stuck with DX anymore, just hope more goys take the Vulkan path and not get locked in by MS.

I was assuming people would reply this but why does Microsoft even bother if that's the case? DX is a sinking ship and it would be insane to keep pumping money into it.

I've seen some benchmarks on games developed specifically for DX12 (like Hitman) and there is little to no difference between DX11/DX12 so what are the benefits?

Because DX12 locks developers into Windows, and that's all Microsoft care about. The absolute last thing they want is Linux gaining any kind of traction as a viable gaymen OS, which it potentially could be if Vulkan became massive, given that providing day one Linux ports with zero performance hit would be trivial in that utopian future.

Selling Windows 10 (and selling Windows 10 users) is a huge part of Microsoft's future plans. Every step will be taken to ensure nothing fucks that up, and gaymes are the biggest reason there is for most people to use Windows.

>but there has to be some major disadvantages, otherwise everyone would be developing for Vulkan. From what I've seen there is virtually no performance decrease for Nvidia GPUs running Vulkan so why even bother with DX12?


There is no disadvantage to vulkan. Vulkan is open source. Though Microsoft literally sends people to publishers/devs to ease them into dx12 and gives plenty of support/try to streamline the api. Maybe even a few bribes. Vulkan doesn't have the resources for that. Why they do this? To push windows 10 as dx12 is locked only to it. If vulkan takes off people can give windows the finger and go to linux or whatever.

NMost of the dx12 code is shared between xbox and pc so that's also enticing to devs. Though there's little difference between dx12 and vulkan so devs could easily do both if they wanted.

DX12 also came out like 8 months earlier. Vulkan came out in feb. We'll see.

Depends on the title and dev ability

youtube.com/watch?v=zh2svARKcDM

Quantum break is pretty buggy but it runs way better on a 480 than a 970 on dx12

Rise of the tomb raider recently got dx12 added which put the 480 around 10 fps over the 970. In total war warhammer, you’re looking at an additional 9-12 FPS on average

Though it is better if vulkan is used more and I think it will.

Apple has made it clear that they have no plans to support Vulkan, they'd rather push their own custom API.

I'd prefer Vulkan to win out over DX12 but like previous OpenGL vs DirectX wars, I would assume that DirectX will win again because Microsoft will support developers better. Sure, a few bleeding edge studios like id prefer working with OpenGL and Vulkan but they're a small minority. DX12 also has the advantage of being on Xbox One, or at least closely related the the version of DirectX on Xbox One.

Nvidia cards are seeing performance improvements with it as well though

Linux won't be a major player in the foreseeable future anyway due to a number of reasons, regardless of Vulkan. I can understand why MS is interested in keeping developers locked to Windows but wouldn't that still be possible even when supporting Vulkan?

It won't, but it since it costs Microsoft very little in the grand scheme of things to push DX12 as hard as possible, every little bit helps. They want it to be the new standard, and ideally for gaymes to be sold through the Windows 10 store so that they can take a nice cut of the profits too. There's just no reason for them to support Vulkan from their point of view. DX12 is so heavily integrated into Windows 10 that there's zero chance of them ever changing track on this. I'm not even mad, it makes perfect business sense for them, but it's still a shame.

What are the differences between developing for Vulkan as compared to DX12? Vulkan is sold as being cross-platform but surely you have to optimize it for the various OS's? If that's the case (and DX12 turns out be easier to develop for) wouldn't it be easier to just push for DX12 seeing as virtually the entire PC gaming market is held by Microsoft/Windows?

So far I haven't seen any independent developers comment about Vulkan either, the only people who have spoken out are people who are otherwise known to support FOSS/open source so they're naturally biased in pushing for an API that isn't locked to Windows.
Would you care to share some sources? From the benchmarks I've seen Nvidia cards don't benefit from either DX12 nor Vulkan.

There is no difference.

i mean. if you really think about it vulkan is amd's only chance. its kind of funny how we have all this beefy tech not running in 100% efficiency. is it too farfetched to say that older generation cards can be on par with newer ones given the right vulkanizing?

There is one. Consider this scenario.

MS launches the scorpio and gets devs to shit on the pc version so the scorpio version runs better

That's the only reason I don't like dx12. I'd rather vulkan be used to separate us from them at least.

Though they could have done this with dx11 too and they're pretending to be all buddy buddy now so I can't tell what they're up to

On the flip side if they make dx12 real good, people will use their 10 store to get their games.

Chance at what? Vulkan and dx12 are the same shit. Both benefit AMD. It's just dx12 is locked down and thus vulkan is superior for pc just because of that.

The benches have been very inconcistent so I don't know what to believe.

youtu.be/WOaHpZjQ73M
youtu.be/ZCHmV3c7H1Q
In both of these videos nvidia gains small performance increase from Vulkan but in other benches there's no difference.

>wouldn't it be easier to just push for DX12 seeing as virtually the entire PC gaming market is held by Microsoft/Windows?
Depends on multiple things including how similar the PS4's graphics API, GNMX is to Vulkan. I'd wager it's closer to Vulkan than DirectX 12 since it was co-developed by Sony and AMD, and Vulkan is largely based on work done with Mantle.

id software has talked about Vulkan a lot, with one of their programmers bashing DirectX on twitter.

twitter.com/axelgneiting/with_replies

>Nvidia cards don't benefit from either DX12 nor Vulkan
They won't benefit as much as AMD due to their inherit hardware limitations but they'll still benefit from the lower CPU overhead

>vulkan is amd's only chance
What? No, both DirectX 12 and Vulkan are AMD territory because the Xbox One uses an AMD GCN GPU.

yea vulkan is open source is what i meant.

So who's right? He never responded to that guy. Is dx12 really 99% similar on pc and xbox?

amd on linux. im exaggerating but yea lol

it's OpenGL all over again unfortunately

It's the same.

It isn't. Vulkan and dx12 are based off the same shit. There's no extra mile to go like with opengl .

how is that a bad thing?

He didn't contradict him really, and I trust id software more than some shill from Activision :^)

>I trust id software more than some shill from Activision :^)

Yea but that ID guy really hates direct x as well so he's biased

In fact I doubt he even touched dx12 given that he's guessing that the code difference is "probably small"

>In fact I doubt he even touched dx12 given that he's guessing that the code difference is "probably small"
He made a game for the Xbox One so he undoubtedly has.

Direct3D won last time.

...

>And what of these claims that Microsoft would have copied Mantle? There was even some claim that the documentation was mostly the same, with some screenshots of alleged documentation of both, and alleged similarities. Now that the final documentation is out, it is clear that the two are not all that similar at the API level. DX12 is still using a lightweight COM approach, where Mantle is a flat procedural approach. But most importantly, DX12 has some fundamental differences with Mantle. Such as the distinction between bundles and command lists. Mantle only has ‘command buffers’. Again, it looks like Mantle is just a simplified version, rather than Microsoft cloning Mantle.

>CPU overhead
Off topic but I'd appreciate it if you, or someone, could answer a question about this. Why does AMD sell Intel CPUs by making their GPUs demand such CPU overhead?

Well I meant on pc

ok. but we are talking about now.

OpenGL is rarely used, Vulkan is mainly for mobile devices where DirectX doesn't exist. That being said it's great and modern and fast as shit, DOOM is fucking amazing with Vulkan.

Most PC games will use DX12 though, better companies will have better implementations but in the next year it'll all be DX12

We never were "stuck" with DX we just didn't have a hot new OpenGL successor

I'm sure they explored it on PC when making DOOM

I don't think it's intentional, I think they prioritized certain features in their GPU design that did not mesh well with DirectX 11 and older APIs and previously have paid the price. On the plus side, they're now finally seeing the benefits with Direct X12, Vulkan, and the PS4.

>in the next year it'll all be DX12
What will Nvidia do when their GPUs are all a tier behind AMD's next year?

Tomb Raider doesn't implement DX12 correctly that game has all sorts of weird shit going on.

Will Vulcan make linux an actual gaming OS?

Not ID, Zenimax

introduce more Gameworks features

>t. the guy who has no idea what the fuck he's talking about.

>I can understand why MS is interested in keeping developers locked to Windows but wouldn't that still be possible even when supporting Vulkan?

Sure, but pushing DirectX is the easiest way. Porting system calls from Windows to Linux(or another OS) isn't really all that difficult, so even if they develop exclusively for Windows, it wouldn't really be all that difficult for them to decide to support another OS for their current or future games. Porting from one graphics API to another is much bigger pain in the ass especially since you really don't want to lose lots of performance doing that.

If Valve pushes hard enough with an AAA game.

M$ doesn't win by shitting on Windows 10 users.

>Valve
>game
>the current year
It's not happening.

if they cant win the windows market they will win the linux crowd.

They're going to push Vulkan in all of their games? I assumed it was just id because of their history with OpenGL. They were one of the only devs using it with Doom 3 more than a decade ago.

i am a learnin'

it is the time strike. Valve has to answer the call.

All 3000 Linux gamers won't make a difference.

>Valve
>trips
O FUG

Half life 3 confirmed.

company fight now. i swear my keyboard to you oh manufacturer of graphics solutions of the 21st century

The biggest disadvantage of Vulkan is that M$ has bought Havok so there won't be Havok on Vulkan.
Now let me explain. All this multi-threading in new APIs is sure a cool thing but that's not the main feature. That's not why AMD has pushed it. The main feature is the compute. With this feature developers have access to GPU's enormous computation power. It is now possible to create a PhysX-like library which will run on all cards and on many platforms. There are 2 companies which have large experience in creating advanced physics for games: NVidia (the PhysX team) and Havok. If Havok was independent it would support all APIs but now it will support DX only.

>NMost of the dx12 code is shared between xbox and pc so that's also enticing to devs. Though there's little difference between dx12 and vulkan so devs could easily do both if they wanted.
And Sony is porting Vulkan to PS4

Sony enjoys propietary apis to make devs stay on their ecosystem and make porting harder

So no they won't be using it

That dude is one massive Nvidia shill. In fact i'm fairly sure if its who i'm thinking of he has shares in Nvidia and posts sensationalist titles (typically anti-AMD) because he does in fact profit from it.

It is only MS that wants an API that is somewhat similar between console and PC to keep their stranglehold on PC space from console devs porting.

Sony and nintendo don't give a fuck because - obviously - they have no stake in the PC space.

Yea I read his blog and this guy reeks of nvidia fanboyism especially if you read his comments

>And Sony is porting Vulkan to PS4
What? No they aren't, they're going to stick with GNM and GNMX.

>Sony enjoys propietary apis
This isn't really true, the PS4 has a proprietary API because DirectX 12 and Vulkan didn't exist when the PS4 released. It's API GNM should have a lot in common with Vulkan though.

>Vulkan is mainly for mobile devices where DirectX doesn't exist
Vulkan supports Win 7-10, Linux and PS4 (later).
>Most PC games will use DX12 though, better companies will have better implementations but in the next year it'll all be DX12
khronos.org/members/contributors
You have Blizzard, Valve, Unity and WarGaming there. Epic was listed as contributor too, but now they are listed as a promoter. Unity and Epic (UE4) have 2 of the most popular gaming engines. EA was one of the early adopters of the Mantle so they will support Vulkan most likely. They were on Khronos contributors list too.

TL;DR Most game devs don't want to depend on MS and will use Vulkan

>and PS4 (later).
Stop saying this, Sony is not going to ditch GNM halfway through a console generation for a graphics API that literally has 0 advantages over GNM. If anything, Vulkan would be a downgrade.

There's a huge difference between contributing to something and not supporting anything else. All of the companies listed above obviously also support DX12.

Anyway, what can Nvidia do to counter the development of Vulkan which is currently (almost) only benefiting AMD? I've read that the reason why Vulkan offers such a big increase in performance has to do with the hardware but would it even be possible for Nvidia to offer similar gains in DX12 titles through driver updates?

I saw it in a video from Vulkan conference. A dude said that Sony is looking in to porting Vulkan to PS4.
>Sony is not going to ditch GNM halfway through a console generation
They don't have to ditch it. They can support both. And they already have GNMX (a DIrectX wrapper for GNM) to make DX games easier to port to PS4. So why would not they want to support Vulkan?

Besides, even Microsoft is listed as a "contributor", whatever that means, along with Nintendo and a bunch of other non-related (well, maybe semi-related) corporations.

>There's a huge difference between contributing to something and not supporting anything else. All of the companies listed above obviously also support DX12.
They can support both, but Vulkan gives larger audience because of Win 7-8.1.

>I've read that the reason why Vulkan offers such a big increase in performance has to do with the hardware but would it even be possible for Nvidia to offer similar gains in DX12 titles through driver updates?
I really doubt it. All this "game ready drivers" fuckery was possible because of high level nature of DX11. They were doing things like embedding precompiled game specific shaders into the drivers. Now with the low level APIs all is in hands of game devs.

Both Vulkan and DX12 benefits AMD. Because low level api diminishes driver issue AMD always had and GPU has motherfucker Async Compute.

Nvidia doesn't have Async Compute thus suffers in both platforms. they have to add async to the metal. driver updates won't do shit.

>what can Nvidia do to counter the development of Vulkan which is currently (almost) only benefiting AMD?
Vulkan and DX12 are not abusing Nvidia, it just really shows how well all their DX11 hardware and drivers are targeted to the task at hand.

DX12 and Vulkan for AMD have allowed them to utilize their hardware in ways that were not available before and extracting much better utilization and obscuring the very large overhead their drivers were imposing on DX11 and previous. Most of this comes from design philosophies AMD has been pushing to help with compute and their HSA goals more than they have been pure graphics gaming performance.

So AMD has been playing the long game hoping their choices would eventually be relevant to the market and it looks like its finally starting to pay off.

So for Nvidia to start pulling ahead its going to have to adapt its hardware to the new way it will be used in Vulkan and DX12. There may be things they can help with via driver optimizations but I wouldn't expect much.

>

eurogamer.net/articles/digitalfoundry-2016-doom-vulkan-patch-shows-game-changing-performance-gains

>their HSA goals

HSA is one of those things that if it takes off its going to be huge. I do think AMD has the right idea by investing into it heavily - there are some very lucrative enterprise applications for the technology but with the sort of money involved nobody wants to jump onto it until it is proven to be rock solid and stable.

So you're basically saying that Nvidia is fucked if large developers choose to develop for Vulkan? I don't know much about the differences but I've heard it's a lot of work to port stuff from one API to another so it seems devs will probably be going DX12 _or_ Vulkan rather than both.

We've got some fun times ahead of us and I'm eagerly awaiting Vega...

Why was Doom being showcased on a GTX1080 running Vulkan rather than DX12 seeing as there are virtually no performance gains with Vulkan?

My personal theory is Nvidia baned on DX12 essentially being DX11: turbo edition (which is what 11.3 basically is) but due to several much smaller players waking up and smelling blood this change in software has come too fast for Nvidia to keep up given the long time it takes to redesign gpu hardware.

It is one thing that Sup Forums forgets - software can adapt very quickly to the needs of a user/devloper/whatever if the resources are thrown at a problem, hardware cannot when we are talking on this sort of scale. Pascal was most likely set in stone mid 2015 at the latest (barring the sort of minor tweaks that can be done to late stepping engineering samples) and DX12 has only really gained massive support in what, the last 6-8 months? Nobody who makes hardware could adapt that fast - AMD just happened to be there first.

Doom doesn't support directx. id software basically don't do DX full stop - its opengl or bust for them.

It really doesn't matter whether it is vulkan or DX12. they are very similar underneath.

The Problem is Nvidia's approach to the apis.

Nvidia uses its proprietary shitty softwares (gameworks, hairworks etc.) to undermine AMD chips by giving some large quantity of money to developers.

of course you can't do that in Vulkan. in this you are right.

But DX12 is backed up by Microsoft and they will be a huge obstacle in Vulkan's way.

No, Nvidia is screwed on both next gen APIs. They suck ass and see either very minimal performance improvements and often performance regressions on Vulkan AND DX12.

The only thing they can do is hope people cling to DX11 where they still have a good lead.

The thing is that if you develop for Vulkan, you can easily support almost all platforms. Also it has has excellent support on Linux, especially on AMD.

I do wonder if MS and Nvidia had a falling out - historically they have been very close. We know Nvidia pissed sony off with the ps3 and the 360 was running an AMD chip but in the PC space Nvidia and MS have been best of buds for years.

You can be sure as fuck the eggheads at Nvidia knew the implications of these newer APIs but we'll never know what the powers that be at Nvidia thought how things would play out.

Valve has to do something about this. Gabe has to hit hard.

>Uh oh, I was wrong and someone called me on it, better scream about nvidia and run away

Rather than falling out, Xbox is more important than Nvidia.

And Xbox is AMD. AMD hardware prosper under DX12. MS won't give two shits about Nvidia if it wants to sell games in both Xbox and pc thus DX12.

The guy has been predicting the death of AMD for years now and he isn't right.

Do something about what? Source 2 already supports Vulkan

HL3

Apple are cunts who believe everything should be made by them and be behind their walled garden. One reason I do not support them.

Why is Nvidia's presence only strong on PC now? They're not on consoles any longer.

>blog mode on

Standards gain recognition according to a variety of factors.3D gaming market, in the beginning, had diverse standards. Nvidia with their NV1 - quadrilaterals instead of triangles, rendition verite, which id gave early support with their Quake port, povervr with tile rendering and so forth. Those different standards excelled in their own API's.
Later on, Direct 3d and OpenGL gained recognition because they're accepted by most of the manufacturers, with direct 3d pushed a little (!) by Microsoft.

DirectX was named because it gave programs direct control over hardware (well, that was part of the marketing gimmick anyway). :^)

Now, Vulkan is an improvement over both and may give AMD advantage for one or two generations at least, but we have other low level API competitors. If Nvidia won't keep up with the performance, or at least deliver similar performance gains with dx12, Vulkan will gain some recognition. Still, AMD's market share is making people think twice.

Metal from Apple isn't taking anything from Mantle, is it?

No one gives a fuck about HL3, it's a fucking meme and nothing more.

Well given their cpu efforts were a waste of time Nvidia is actively consolidating its position in the consumer grade gpu market. For more professional related stuff (quadros and whatnot) they really don't have to worry about what AMD is doing....yet.

Other than some really old hardware there is no real reason not to drop DX11 and code for DX12 & Vulkan. The trouble is the cost of training devs up and how easy or hard it is compared to DX11.

The ONLY group with an interest in DX11 right now is Nvidia and they must be shitting bricks right now.

Being windows 10 exclusive is, at least for now, a pretty good reason to use Dx11 instead of Dx12. Windows 10, after a year of very aggressive marketing, still has only about 20% market share, compared to almost 50% for Windows 7. Obviously Win10's market share is only going to go up from here, but even then were I an executive I'd be pretty hesitant to make my game incompatible with older versions of Windows, at least if I had plans to release it in the next couple years.

Valve has 300 staff and half of them just got moved to the VR division.

theinquirer.net/inquirer/news/2462450/about-a-third-of-valve-staff-working-on-vr-games-instead-of-half-life-3

How about you stop being a little bitch and use both so you get the maximum performance out of your gpu?

you have to say that to nvidia.

You don't Use Vulkan it works on all the platforms (Excepting maybe Apple but they are cunts who deserve to die in a fire).

>making everything easier for devs is a downgrade

Do the AMD card gain these huge performance boosts thanks to Vulkan or is it actually thanks to async compute?