The idea of "stacked VRAM" is based on a misconception. DirectX 12 doesn't magically allow both your video cards to access each other's RAM without penalty. It allows the developer to access the RAM of both cards independently and store different things on each card. Some things are still going to need to be doubled up, or it will overload the PCI-E interface and it has to be specifically managed by the developer. DirectX 12 isn't magical and implementing it doesn't instantly give the game extra features.
Its not my misconception, I know that it requires the developer to implement it, but doesn't it go hand in hand with async compute? This is the quote from Tomb raider patch blog "Another big feature, which we are also using on Xbox One, is asynchronous compute. This allows us to re-use GPU power that would otherwise go to waste, and do multiple tasks in parallel."
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess. <a href="http://cracks4apk.com/directx-11-2-download-offlin... 11.2</a> is out now
To go a bit deeper. Prior to Async Computer, you could only do one job at a time. If a given job didn't have enough work to make sue of your entire GPU, then part of your GPU would remain idle. tuxfool's analogy is a good one. Similar to SMT for CPUs, Async Compute allows work to be queued up and when there is any free time, the scheduler will fill the holes.
The reason it's async is because the old way was purely synchronous. One job after the other in determined orders. Async in this context just means "best effort" with no guaranteed order, which is typically the most efficient way to maximize throughput.
Of course there are ways to guarantee ordering or even prioritizing, but that always comes at a cost to throughput. The age old low jitter or high throughput tradeoff. Maximizing one doesn't mean minimizing the other, but it does put constraints.
It'd be great if you added some information about how Vulkan fits into the whole thing technology wise. Are Vulkan and DX12 as divorced as OpenGL and DX11? Will it easier for devs to address both APIs in the same game?
I think it would be great if Vulkan was mentioned at all. The article has a weird shoutout to Metal but nothing about Vulkan. Meanwhile, Ashes has confirmed Vulkan support and Oxide is one of the main Vulkan contributors and have spoken about it at GDC and Khronos events past. In comparison, they've never confirmed Metal support and haven't publicly spoken about Metal at any Apple conferences.
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess.
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess.
If I start developing a game engine today, I'd only go for a Vulkan codebase - greedy old M$ are entirely repulsive for keeping DX12 a windows 10 exclusive in order to extort people into adopting that putrid spyware/adware.
Vulkan can do everything DX12 can do, and is supported on a wide range of hardware and software, it works even on windows XP, it works on Linux, it works on Android. If you code against DX12, you are stuck to windows 10 on x86, it is a waste of effort.
DX12 is exclusive to Windows 10 because Windows has a graphics kernel which implements support for all the new features. No other OS does, and the reason why Vulkan works on other platforms is because it relies on the graphics driver to implement all the missing functionality that Windows already added. Backwards compatibility and performance remain stable on Windows while most other platforms constantly have driver bugs or random perf issues depending on what card you're running. Expecting Microsoft to backport their graphics kernel (WDDM 2.0) to Win7 would be an absurd engineering effort, especially considering it would require backporting every change also made in Win8 and 8.1 (WDDM 1.2 and 1.3), and all kernel dependencies throughout the rest of the OS too.
Vulkan and DX12 also have some small difference - Vulkan has a few small features DX12 does not and vice versa. And while you are stuck with Windows 10, you are not restricted to x86 at all. DX12 works on every platform that Windows can run on, and only needs driver support. this includes ARM/Phone.
You clearly don't distinguish between a fact and something silly you made on the spot. Spyware telemetry was introduced with windows 10 and subsequently was ported back to 7 and 8, but unlike 10 it doesn't come by default and you can opt out by simply not installing the updates.
"DX12 works on every platform that Windows can run on, and only needs driver support. this includes ARM/Phone"
It doesn't work "on every platform that Windows can run on", it may work "on every platform that Windows 10 can run on".
And yes, I know MS APIs are shitty, that's one of the main reasons I don't use them, plus the lack of portability, but I'd say M$ could backport DX12 to older versions of windows if they wanted to, they certainly have the resources and it is not like they are making super efficient use of those - they waste quite a lot on silly things.
What M$ did is instead of porting the "good" features of 10 like DX12 back to at least 8 and 7, which would have made sense, they ported the "bad" features (spyware... errrmmm I meant telemetry). That's a good indication where their priorities lie, and no amount of BS from chump M$ zealots like you can't undo that fact.
Funny how Khronos can make a new, low level graphics API and make it work on every device out there, whereas big almighty and stinking rich M$ can't. Wonder why? Is it that they don't have the skill? Or is it that they don't have the motivation? Or maybe both?
>> Funny how Khronos can make a new, low level graphics API and make it work on every device out there, whereas big almighty and stinking rich M$ can't. Wonder why? Is it that they don't have the skill? Or is it that they don't have the motivation? Or maybe both?
It's because Khronos didn't do anything. They wrote a spec and then told all of the vendors like AMD and NVIDIA to do all the hard work by writing all the software.
You also seem quite disillusioned to how software development works. First and foremost, Microsoft, like all software companies, don't just have a massive pool of employees that can just do any task. Backporting features like an entire graphics kernel does not just involve saying "uh, this will take 20 more engineers" and then they go an pluck a bunch of people from their offices and that's that. They have teams dedicated to specific features, and one of those teams is responsible for WDDM. Their priorities are about improving the feature they work on, not spending years of time backporting three versions of the OS kernel so irrational people like you can continue your irrational fear that Windows 10 is spying on you.
Although technically this is true, the fact that Vulkan can run on old OSs is proof that it is possible to do it. The WDDM is a technical restriction of Microsoft's own making and just serves as a convienent excuse. Also, consider that the XBone is not running WDDM 2.0 either, so how is it possible that it can run DirectX12?
This technical restriction doesn't come without its benefits, though. Owning the implementation of the DX runtime and a good chunk of the kernel level features often means: Better stability, performance consistency, and compatibility across vendors (since NVIDIA, AMD, and Intel would all share common implementations of a lot of the code). It also allows Microsoft to develop much better tools that would otherwise be vendor specific and locked into their hardware. Ever try debugging OpenGL apps and DX apps side by side? Many game developers have and there's a reason why they choose DX as their primary API.
Xbox One is a little unique because its OS is not really Windows - it is, but it's massive slimmed down and customized for Xbox usage. But this means it also has a different implementation of the DX12 API (which also does vary slightly from the Windows version). Since it has a different runtime implementation (as well as custom drivers), they are able to have their own graphics kernel that is different from WDDM 2.0 but still implement many of the same features. The main OS on the xbox (used for the dashboard, apps, etc) is a build of standard Windows. This version of the OS does feature the WDDM 2.0 graphics kernel, though to my knowledge lacks a WDDM 2.0 and DX12 compliant graphics driver, and so apps written on that OS cannot currently use DX12. I might be a bit out of date on that info, though.
Developers care about their games being successful and making money for them. They certainly (the smart ones) do not allow themselves to be drawn into API politics.
Aside from mobile gaming, which are the main gaming platforms? Windows, xbox and PS. The main API on the first two is DX. No developer worth his/her salt would refrain from using it just because it's a closed API.
PS4 has its own graphics APIs, low-level GNM and high-level GNMX.
There are OS X and Linux, yes, but they hold a very small market share when it comes to games.
This is about to change, ARM chips are reaching the performance level of console hardware, Vulkan brings the "direct to metal" graphics API which is very important for consoles, plus portability which consoles didn't previously have.
Expect a new paradigm in console hardware in the coming years, the destruction of the monopoly on that market niche and the end to the developer and end user lock-in. The new consoles will be much more affordable, much more energy efficient, and the same codebase will work across them all, making the lives of both developers and end users easier. A nightmare for big market players like M$.
What that has to do with anything? Graphics APIs don't care what kind of CPU is used.
Windows and xbox are MS products and the API of choice for those is DX. PS has its own low and high APIs. There is no other major non-mobile gaming platform besides these.
Unless DX12 turns out to be slower and/or harder to code for than vulkan, it'll not be going away any time soon.
Sure, vulkan might become successful on android and maybe iOS too, but I doubt that'll have much of an effect on other platforms.
P.S. I don't have any love for microsoft but writing M$ does not help your argument at all.
Don't listen to ddriver, he doesn't have a clue what he's talking about. He just uses buzzwords like "portability" and "to the metal" to try and make his argument sound legitimate, but from his posts it's obvious to see he has very little expertise in large scale software development, and almost no experience in graphics or game development, and the reasons why people choose the graphics APIs they do.
That will be something we'll have to look into in the future. Vulkan didn't come up in conversation here, as with both the DX and D3D leads as part of the group, the main topic was DX12 from various viewpoints.
I wonder if dx12 is going to hold its own against vulkan in the long run as vulkan can be used on more platforms and is supposed to be very similar to dx12. And the matter of developers being experienced with dx does not matter that much this time around.
DX will do fine because Windows remains the dominant gaming platform besides closed consoles systems. Balance can hype Steam OS all they want but the fact is gamers are just fine with Windows and DX.
First I really really want Vulkan to succeed and frankly end the DX lock in. That said, where is this list of platforms that Vulkan gets you?
Mac OSX and iOS - Stuck with Metal proprietary API (Or OpenGL) XBOX - Stuck with DX only Windows10 - Might as well just port the Xbox DX12 code Windows7/8 - Vulkan or DX11
If Sony or Nintendo announce Vulkan support that would be game changing but I haven't heard anything. Android support is announced but frankly who really cares. The majority of Android devices are low end and its known that the user base doesn't really pay for software/games anyways. It's just not a worthwhile market. Linux desktop gaming still isn't a worthwhile market either and there's a lot more to Linux porting than just the graphics API.
So Vulkan gets you old versions of Windows. That's nice but Steam data shows gamers are moving to Windows 10 en mass. I just don't see the advantage unless something big like Sony PS4 support comes in.
AAA titles must use DX for Xbox. Even big companies like Blizzard are experimenting with Metal despite the small OSX market. I just don't see where Vulkan stands out to enable developers to reach a meaningful new market/platform.
Huh, I hadn't thought it through as much as you did! Yeah, if you can't use it on OS X, iOS, and Playstation 4, I'm not sure that it's doing all that much good. Could be fewer real platforms than Direct X 12.
OpenGL vs DX already answered that question. A hobbyist API that has no profit motive to release improvements in a timely manner or to create functioning tools can't compete with a corporation with a vested interest in making their platform the best gaming platform there is. Microsoft didn't win because there was anything inherently better about Windows, they won because they were willing to put in the effort to make it good. People working for free just don't have that commitment.
Well, they usually do, often even more than paid developer, but won't endure that long... Life happens, pple who were burning midnight oil with a software find demanding, decently paid job, get a wife (husband), kinds... and then the energy and time to play with coding naturally diminishes. Doesn't happen for everyone, but it's quite common scenario.
This is an interesting point. I didn't know SGI's GL developers were hobbiests or that Nvidia, Intel, AMD, Valve, Epic, Unity and the other Vulkan developers worked for free. That puts a new perspective on things.
My real worry about this is what is going to happen with ranges of GFX cards that release after the games do? New architectures so they'll need optimising to run sensibly, and definitely optimally.
It isn't that easy to imagine people going back to optimise 2/3 year old games. The GFX people have the motivation of course but if they can't....
Potentially yes. Even a fairly small difference like the 2/390 vs Fiji/Tonga (GCN 1.1 to 1.2) seems to need individual optimisation for each architecture and potential trouble if not. (2/390 match the consoles, so they're quite happy.).
A really major architectural change - as will happen over a 3/4 year time period? Bit scary really.
We should know how real it is quite soon with the 14/16nm stuff. We'll have a few games using DX12 released before those cards appear is, and they'll change the architectures at least a bit for that generation of cards.
Or the devs just code according to the api and use features which increase performance and not do optimization for any IHV. Baker already said that optimization for any hardware is a lot of work. So there won't be incentive for it unless the devs are paid for it.
"...Oxide’s seeing a 'fairly strong update' of the new OS."
Only because Microsloth is forcing Windows 10 upgrades. Most people don't know that they can reverse the process within the first month. About half of my customers who got "upgraded" never wanted Windows 10, but I've only been able to reverse the process for those few that called me within the 30-day window. I've started preemptively installing GWX Control Panel for those who wish to skip Windows 10.
It's odd... Apple offer an upgrade and people literally throw themselves at it. Windows 10 hits and the supposed 'tech' people can't stop it fast enough.
An entire article about DX12, on a game that's also confirmed to support Vulkan (Oxide is a key Vulkan contributor), and the only alternative API mentioned is Metal? Really?
" In fact free is likely playing a huge part here, as Baker has mentioned that Oxide’s seeing a “fairly strong update” "
@Ryan Smith I think you meant fairly strong UPTAKE
Also, a major reason for slow adoption of older Direct X version are not listed: Unlike DX12 which are supported by older generation cards, most older DX version upgrades requires completely new architecture and hence new GPUs. Devlopers had to wait until mass adoption reach a certain level before developing for a newer version.
Actually at the time of launch DX11 had downlevel support and was usable all the way down to DX9.1 cards (i.e. the API could actually run on a D3D9 driver), meaning it supported way more hardware than DX12 does now. It was actually a feature in D3D 10.1, but barely anyone ever ended up using the 10 API.
" slow developer adoption when working with multi-platform titles – developers tend to stick to the API that most closely matches the consoles, and the fact that new versions of DirectX and new hardware standards have often gone hand-in-hand."
WhaaaT??? This is anand level now? copywriting to popular tropes of rather uniformed part of pc gamers. Ryan if you even look at twitters of more hardcore, low level graphics coding developers you will see common theme, even newer apis such as dx 12/vulkan lacks many usefull things alredy exposed in console apis, let alone pc fragmentation and adoption tieing hands of developers. Certainly not usefull for building healthy discourse.
I wonder if Oxide will consider releasing a standalone DX12 benchmark for those of us who don't play RTS games yet are interested in benchmarking. I'd easily pay a bit for this ($10? Sure!), but I'm not buying the game just to run a benchmark.
Gee, if MS had released DX12 for Win7, they would have close to 100% adoption of DX12... And they could have released UWP and Win Store for Win 7 (and Win 8) as well, keeping what ppl wanted while avoiding what ppl didn't (loss of control over updates, loss of MCE, privacy concerns etc.).
I'm no Win10 conspiracist (my laptop is Win10), but my gaming desktop is staying Win 7 for as long as I can.
"Because DX12 is low-level and fairly thin, what bugs there are tend to be fairly straightforward."
While I'd love to believe that the simplification of the API is the magic bullet that will solve all problems in the world, the unstated bottom line is that GPUs remain complex pieces of computing hardware. Taking advantage of that complex hardware still requires a certain amount of software complexity SOMEWHERE even if it was ejected from the API by Microsoft. It went somewhere and that somewhere appears to be onto the shoulders of game developers that ultimately answer to cost-sensitive game publishers. At least now, when we get the next Batman: Arkham Shovelware or Bethesda Softworks sandbox RPG that requires 3rd party modder patches to actually add the required sand, we can more rightfully point angry fingers at the publisher and developer studio.
On a side note, I do hope developers focus on Vulkan (though I realize how much of a delusional pipe dream that is) so those of us who are pure penguins after getting fed up with setting up firewall rules to stop Windows 10 from Big Brothering our computers with all those encrypted 40MB packages it periodically pushes back up to the mothership.
It's nice to see this article show that DX12 and by extension, Vulkan, isn't some kind of free ride to performance. Nor is it going to be a quick transition. These API are changing the way developers have to code their games.
We’ve updated our terms. By continuing to use the site and/or by logging into your account, you agree to the Site’s updated Terms of Use and Privacy Policy.
67 Comments
Back to Article
Jukens - Friday, March 11, 2016 - link
Directx 12 Rise of Tomb Raider patch released, lets get a detailed review of the findings! I need stacked vram for SLI.Flunk - Friday, March 11, 2016 - link
The idea of "stacked VRAM" is based on a misconception. DirectX 12 doesn't magically allow both your video cards to access each other's RAM without penalty. It allows the developer to access the RAM of both cards independently and store different things on each card. Some things are still going to need to be doubled up, or it will overload the PCI-E interface and it has to be specifically managed by the developer. DirectX 12 isn't magical and implementing it doesn't instantly give the game extra features.Jukens - Friday, March 11, 2016 - link
Its not my misconception, I know that it requires the developer to implement it, but doesn't it go hand in hand with async compute? This is the quote from Tomb raider patch blog "Another big feature, which we are also using on Xbox One, is asynchronous compute. This allows us to re-use GPU power that would otherwise go to waste, and do multiple tasks in parallel."Jukens - Friday, March 11, 2016 - link
Or maybe I am getting the terminology mixed up async compute feature not the same as asynchronous multi-GPU to implement split frame rendering ?tuxfool - Friday, March 11, 2016 - link
Completely separate things. Think of Async Compute as SMT for your GPU.Jukens - Friday, March 11, 2016 - link
Thanks for clearing that upalex00711 - Sunday, April 30, 2017 - link
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess. <a href="http://cracks4apk.com/directx-11-2-download-offlin... 11.2</a> is out nowalex00711 - Sunday, April 30, 2017 - link
http://cracks4apk.com/directx-11-2-download-offlin...bcronce - Friday, March 11, 2016 - link
To go a bit deeper. Prior to Async Computer, you could only do one job at a time. If a given job didn't have enough work to make sue of your entire GPU, then part of your GPU would remain idle. tuxfool's analogy is a good one. Similar to SMT for CPUs, Async Compute allows work to be queued up and when there is any free time, the scheduler will fill the holes.The reason it's async is because the old way was purely synchronous. One job after the other in determined orders. Async in this context just means "best effort" with no guaranteed order, which is typically the most efficient way to maximize throughput.
Of course there are ways to guarantee ordering or even prioritizing, but that always comes at a cost to throughput. The age old low jitter or high throughput tradeoff. Maximizing one doesn't mean minimizing the other, but it does put constraints.
hansmuff - Friday, March 11, 2016 - link
It'd be great if you added some information about how Vulkan fits into the whole thing technology wise. Are Vulkan and DX12 as divorced as OpenGL and DX11? Will it easier for devs to address both APIs in the same game?Vash63 - Friday, March 11, 2016 - link
I think it would be great if Vulkan was mentioned at all. The article has a weird shoutout to Metal but nothing about Vulkan. Meanwhile, Ashes has confirmed Vulkan support and Oxide is one of the main Vulkan contributors and have spoken about it at GDC and Khronos events past. In comparison, they've never confirmed Metal support and haven't publicly spoken about Metal at any Apple conferences.jospoortvliet - Saturday, March 12, 2016 - link
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess.jospoortvliet - Saturday, March 12, 2016 - link
Obviously MS didn't feel it would be great if Vulcan, a clear competition to DirectX 12, was mentioned in a positive light - and there isn't anything negative to say about it I guess.ddriver - Friday, March 11, 2016 - link
If I start developing a game engine today, I'd only go for a Vulkan codebase - greedy old M$ are entirely repulsive for keeping DX12 a windows 10 exclusive in order to extort people into adopting that putrid spyware/adware.Vulkan can do everything DX12 can do, and is supported on a wide range of hardware and software, it works even on windows XP, it works on Linux, it works on Android. If you code against DX12, you are stuck to windows 10 on x86, it is a waste of effort.
willis936 - Friday, March 11, 2016 - link
Your submission for highest number of antibuzzwords in a single sentence has been accepted.inighthawki - Friday, March 11, 2016 - link
DX12 is exclusive to Windows 10 because Windows has a graphics kernel which implements support for all the new features. No other OS does, and the reason why Vulkan works on other platforms is because it relies on the graphics driver to implement all the missing functionality that Windows already added. Backwards compatibility and performance remain stable on Windows while most other platforms constantly have driver bugs or random perf issues depending on what card you're running. Expecting Microsoft to backport their graphics kernel (WDDM 2.0) to Win7 would be an absurd engineering effort, especially considering it would require backporting every change also made in Win8 and 8.1 (WDDM 1.2 and 1.3), and all kernel dependencies throughout the rest of the OS too.Vulkan and DX12 also have some small difference - Vulkan has a few small features DX12 does not and vice versa. And while you are stuck with Windows 10, you are not restricted to x86 at all. DX12 works on every platform that Windows can run on, and only needs driver support. this includes ARM/Phone.
jasonelmore - Friday, March 11, 2016 - link
Well said! ddriver's comment was mostly hyperbole and he is clearly not educated in this topicNotmyusualid - Friday, March 11, 2016 - link
ddriver certainly didn't speak any lies.The simple fact of the matter is - is that Win 10 is the ultimate spyware.
And I too am a 'hold-out' as the article suggests. A PROUD hold out, in the name of privacy.
rpg1966 - Saturday, March 12, 2016 - link
Hilarious. If that's a "fact" I'll eat my own testicles.HollyDOL - Saturday, March 12, 2016 - link
Definitely... hard rock fact, just like it was with Windows 95, 98, ME, XP, Vista, 7, 8, 8.1 and NT since 3.51 :-)oh sorry, I forgot, Windows 1 was an ultimate spyware as well....
ddriver - Saturday, March 12, 2016 - link
You clearly don't distinguish between a fact and something silly you made on the spot. Spyware telemetry was introduced with windows 10 and subsequently was ported back to 7 and 8, but unlike 10 it doesn't come by default and you can opt out by simply not installing the updates.Michael Bay - Saturday, March 12, 2016 - link
You wish. Old Bill was watching you masturbate since NT.Michael Bay - Saturday, March 12, 2016 - link
>using any kind of widely adopted os>being proud of muh privacy
What happened, Anandtech? Your commentariat used to be sane.
ddriver - Saturday, March 12, 2016 - link
"DX12 works on every platform that Windows can run on, and only needs driver support. this includes ARM/Phone"It doesn't work "on every platform that Windows can run on", it may work "on every platform that Windows 10 can run on".
And yes, I know MS APIs are shitty, that's one of the main reasons I don't use them, plus the lack of portability, but I'd say M$ could backport DX12 to older versions of windows if they wanted to, they certainly have the resources and it is not like they are making super efficient use of those - they waste quite a lot on silly things.
What M$ did is instead of porting the "good" features of 10 like DX12 back to at least 8 and 7, which would have made sense, they ported the "bad" features (spyware... errrmmm I meant telemetry). That's a good indication where their priorities lie, and no amount of BS from chump M$ zealots like you can't undo that fact.
Funny how Khronos can make a new, low level graphics API and make it work on every device out there, whereas big almighty and stinking rich M$ can't. Wonder why? Is it that they don't have the skill? Or is it that they don't have the motivation? Or maybe both?
inighthawki - Saturday, March 12, 2016 - link
>> Funny how Khronos can make a new, low level graphics API and make it work on every device out there, whereas big almighty and stinking rich M$ can't. Wonder why? Is it that they don't have the skill? Or is it that they don't have the motivation? Or maybe both?It's because Khronos didn't do anything. They wrote a spec and then told all of the vendors like AMD and NVIDIA to do all the hard work by writing all the software.
You also seem quite disillusioned to how software development works. First and foremost, Microsoft, like all software companies, don't just have a massive pool of employees that can just do any task. Backporting features like an entire graphics kernel does not just involve saying "uh, this will take 20 more engineers" and then they go an pluck a bunch of people from their offices and that's that. They have teams dedicated to specific features, and one of those teams is responsible for WDDM. Their priorities are about improving the feature they work on, not spending years of time backporting three versions of the OS kernel so irrational people like you can continue your irrational fear that Windows 10 is spying on you.
lefty2 - Saturday, March 12, 2016 - link
Although technically this is true, the fact that Vulkan can run on old OSs is proof that it is possible to do it. The WDDM is a technical restriction of Microsoft's own making and just serves as a convienent excuse. Also, consider that the XBone is not running WDDM 2.0 either, so how is it possible that it can run DirectX12?prtskg - Saturday, March 12, 2016 - link
The api which xbox uses is close to dx12, not dx12.inighthawki - Saturday, March 12, 2016 - link
This technical restriction doesn't come without its benefits, though. Owning the implementation of the DX runtime and a good chunk of the kernel level features often means: Better stability, performance consistency, and compatibility across vendors (since NVIDIA, AMD, and Intel would all share common implementations of a lot of the code). It also allows Microsoft to develop much better tools that would otherwise be vendor specific and locked into their hardware. Ever try debugging OpenGL apps and DX apps side by side? Many game developers have and there's a reason why they choose DX as their primary API.Xbox One is a little unique because its OS is not really Windows - it is, but it's massive slimmed down and customized for Xbox usage. But this means it also has a different implementation of the DX12 API (which also does vary slightly from the Windows version). Since it has a different runtime implementation (as well as custom drivers), they are able to have their own graphics kernel that is different from WDDM 2.0 but still implement many of the same features. The main OS on the xbox (used for the dashboard, apps, etc) is a build of standard Windows. This version of the OS does feature the WDDM 2.0 graphics kernel, though to my knowledge lacks a WDDM 2.0 and DX12 compliant graphics driver, and so apps written on that OS cannot currently use DX12. I might be a bit out of date on that info, though.
eddman - Saturday, March 12, 2016 - link
Developers care about their games being successful and making money for them. They certainly (the smart ones) do not allow themselves to be drawn into API politics.Aside from mobile gaming, which are the main gaming platforms? Windows, xbox and PS. The main API on the first two is DX. No developer worth his/her salt would refrain from using it just because it's a closed API.
PS4 has its own graphics APIs, low-level GNM and high-level GNMX.
There are OS X and Linux, yes, but they hold a very small market share when it comes to games.
ddriver - Saturday, March 12, 2016 - link
This is about to change, ARM chips are reaching the performance level of console hardware, Vulkan brings the "direct to metal" graphics API which is very important for consoles, plus portability which consoles didn't previously have.Expect a new paradigm in console hardware in the coming years, the destruction of the monopoly on that market niche and the end to the developer and end user lock-in. The new consoles will be much more affordable, much more energy efficient, and the same codebase will work across them all, making the lives of both developers and end users easier. A nightmare for big market players like M$.
eddman - Saturday, March 12, 2016 - link
What that has to do with anything? Graphics APIs don't care what kind of CPU is used.Windows and xbox are MS products and the API of choice for those is DX. PS has its own low and high APIs. There is no other major non-mobile gaming platform besides these.
Unless DX12 turns out to be slower and/or harder to code for than vulkan, it'll not be going away any time soon.
Sure, vulkan might become successful on android and maybe iOS too, but I doubt that'll have much of an effect on other platforms.
P.S. I don't have any love for microsoft but writing M$ does not help your argument at all.
inighthawki - Saturday, March 12, 2016 - link
Don't listen to ddriver, he doesn't have a clue what he's talking about. He just uses buzzwords like "portability" and "to the metal" to try and make his argument sound legitimate, but from his posts it's obvious to see he has very little expertise in large scale software development, and almost no experience in graphics or game development, and the reasons why people choose the graphics APIs they do.medi03 - Saturday, March 12, 2016 - link
Yeah. Steam client is sooo much better, isn't it? I mean, on top of paying Valve 30% of the game price.Ryan Smith - Friday, March 11, 2016 - link
That will be something we'll have to look into in the future. Vulkan didn't come up in conversation here, as with both the DX and D3D leads as part of the group, the main topic was DX12 from various viewpoints.tynopik - Friday, March 11, 2016 - link
common site > sighttynopik - Friday, March 11, 2016 - link
they necessaryRyan Smith - Friday, March 11, 2016 - link
Thanks.qlum - Friday, March 11, 2016 - link
I wonder if dx12 is going to hold its own against vulkan in the long run as vulkan can be used on more platforms and is supposed to be very similar to dx12. And the matter of developers being experienced with dx does not matter that much this time around.Jumangi - Friday, March 11, 2016 - link
DX will do fine because Windows remains the dominant gaming platform besides closed consoles systems. Balance can hype Steam OS all they want but the fact is gamers are just fine with Windows and DX.Wolfpup - Friday, March 11, 2016 - link
Plus it's the API for the Xbox too-so you're hitting two of the biggest platforms with it.mabellon - Friday, March 11, 2016 - link
First I really really want Vulkan to succeed and frankly end the DX lock in. That said, where is this list of platforms that Vulkan gets you?Mac OSX and iOS - Stuck with Metal proprietary API (Or OpenGL)
XBOX - Stuck with DX only
Windows10 - Might as well just port the Xbox DX12 code
Windows7/8 - Vulkan or DX11
If Sony or Nintendo announce Vulkan support that would be game changing but I haven't heard anything. Android support is announced but frankly who really cares. The majority of Android devices are low end and its known that the user base doesn't really pay for software/games anyways. It's just not a worthwhile market. Linux desktop gaming still isn't a worthwhile market either and there's a lot more to Linux porting than just the graphics API.
So Vulkan gets you old versions of Windows. That's nice but Steam data shows gamers are moving to Windows 10 en mass. I just don't see the advantage unless something big like Sony PS4 support comes in.
AAA titles must use DX for Xbox. Even big companies like Blizzard are experimenting with Metal despite the small OSX market. I just don't see where Vulkan stands out to enable developers to reach a meaningful new market/platform.
Wolfpup - Friday, March 11, 2016 - link
Huh, I hadn't thought it through as much as you did! Yeah, if you can't use it on OS X, iOS, and Playstation 4, I'm not sure that it's doing all that much good. Could be fewer real platforms than Direct X 12.zepi - Friday, March 11, 2016 - link
Vulkan is also available available for Android, so big engines like Unity and Unreal will support it nicely.DominionSeraph - Friday, March 11, 2016 - link
OpenGL vs DX already answered that question. A hobbyist API that has no profit motive to release improvements in a timely manner or to create functioning tools can't compete with a corporation with a vested interest in making their platform the best gaming platform there is.Microsoft didn't win because there was anything inherently better about Windows, they won because they were willing to put in the effort to make it good. People working for free just don't have that commitment.
HollyDOL - Saturday, March 12, 2016 - link
Well, they usually do, often even more than paid developer, but won't endure that long... Life happens, pple who were burning midnight oil with a software find demanding, decently paid job, get a wife (husband), kinds... and then the energy and time to play with coding naturally diminishes. Doesn't happen for everyone, but it's quite common scenario.HollyDOL - Saturday, March 12, 2016 - link
kids*rly need an edit button
Vash63 - Saturday, March 12, 2016 - link
This is an interesting point. I didn't know SGI's GL developers were hobbiests or that Nvidia, Intel, AMD, Valve, Epic, Unity and the other Vulkan developers worked for free. That puts a new perspective on things.Qwertilot - Friday, March 11, 2016 - link
My real worry about this is what is going to happen with ranges of GFX cards that release after the games do? New architectures so they'll need optimising to run sensibly, and definitely optimally.It isn't that easy to imagine people going back to optimise 2/3 year old games. The GFX people have the motivation of course but if they can't....
Wolfpup - Friday, March 11, 2016 - link
Ooooooooh...is this an issue? Yikes...Qwertilot - Friday, March 11, 2016 - link
Potentially yes. Even a fairly small difference like the 2/390 vs Fiji/Tonga (GCN 1.1 to 1.2) seems to need individual optimisation for each architecture and potential trouble if not.(2/390 match the consoles, so they're quite happy.).
A really major architectural change - as will happen over a 3/4 year time period? Bit scary really.
We should know how real it is quite soon with the 14/16nm stuff. We'll have a few games using DX12 released before those cards appear is, and they'll change the architectures at least a bit for that generation of cards.
Hopefully it won't be too bad.
jwcalla - Friday, March 11, 2016 - link
I brought that up when Mantle was first talked about, when everyone was going gaga for "low-level to-the-metal" APIs.Nobody cared. The hype was just so overwhelming that rational thinking went out the window. And it hasn't returned since.
prtskg - Saturday, March 12, 2016 - link
Or the devs just code according to the api and use features which increase performance and not do optimization for any IHV. Baker already said that optimization for any hardware is a lot of work. So there won't be incentive for it unless the devs are paid for it.LordConrad - Friday, March 11, 2016 - link
"...Oxide’s seeing a 'fairly strong update' of the new OS."Only because Microsloth is forcing Windows 10 upgrades. Most people don't know that they can reverse the process within the first month. About half of my customers who got "upgraded" never wanted Windows 10, but I've only been able to reverse the process for those few that called me within the 30-day window. I've started preemptively installing GWX Control Panel for those who wish to skip Windows 10.
Kvaern2 - Saturday, March 12, 2016 - link
"for those who wish to skip Windows 10."They are going to be running old windows for a long long time then....
damianrobertjones - Monday, March 14, 2016 - link
It's odd... Apple offer an upgrade and people literally throw themselves at it. Windows 10 hits and the supposed 'tech' people can't stop it fast enough.Silly.
Vash63 - Friday, March 11, 2016 - link
An entire article about DX12, on a game that's also confirmed to support Vulkan (Oxide is a key Vulkan contributor), and the only alternative API mentioned is Metal? Really?MobiusPizza - Friday, March 11, 2016 - link
" In fact free is likely playing a huge part here, as Baker has mentioned that Oxide’s seeing a “fairly strong update” "@Ryan Smith I think you meant fairly strong UPTAKE
Also, a major reason for slow adoption of older Direct X version are not listed: Unlike DX12 which are supported by older generation cards, most older DX version upgrades requires completely new architecture and hence new GPUs. Devlopers had to wait until mass adoption reach a certain level before developing for a newer version.
inighthawki - Friday, March 11, 2016 - link
Actually at the time of launch DX11 had downlevel support and was usable all the way down to DX9.1 cards (i.e. the API could actually run on a D3D9 driver), meaning it supported way more hardware than DX12 does now. It was actually a feature in D3D 10.1, but barely anyone ever ended up using the 10 API.lolek86 - Friday, March 11, 2016 - link
" slow developer adoption when working with multi-platform titles – developers tend to stick to the API that most closely matches the consoles, and the fact that new versions of DirectX and new hardware standards have often gone hand-in-hand."WhaaaT??? This is anand level now? copywriting to popular tropes of rather uniformed part of pc gamers. Ryan if you even look at twitters of more hardcore, low level graphics coding developers you will see common theme, even newer apis such as dx 12/vulkan lacks many usefull things alredy exposed in console apis, let alone pc fragmentation and adoption tieing hands of developers. Certainly not usefull for building healthy discourse.
Valantar - Saturday, March 12, 2016 - link
I wonder if Oxide will consider releasing a standalone DX12 benchmark for those of us who don't play RTS games yet are interested in benchmarking. I'd easily pay a bit for this ($10? Sure!), but I'm not buying the game just to run a benchmark.Voldenuit - Saturday, March 12, 2016 - link
Gee, if MS had released DX12 for Win7, they would have close to 100% adoption of DX12...And they could have released UWP and Win Store for Win 7 (and Win 8) as well, keeping what ppl wanted while avoiding what ppl didn't (loss of control over updates, loss of MCE, privacy concerns etc.).
I'm no Win10 conspiracist (my laptop is Win10), but my gaming desktop is staying Win 7 for as long as I can.
siriq - Saturday, March 12, 2016 - link
Ryan! Any chance to face Nvidia with Fermi DX 12 question?Ryan Smith - Sunday, March 13, 2016 - link
It's on the list for GDC. But I do know that NV has it working in dev drivers.siriq - Sunday, March 13, 2016 - link
Thx for that. I was just checking some interesting topic. Nvidia also starts early at monday with DX 12.BrokenCrayons - Monday, March 14, 2016 - link
"Because DX12 is low-level and fairly thin, what bugs there are tend to be fairly straightforward."While I'd love to believe that the simplification of the API is the magic bullet that will solve all problems in the world, the unstated bottom line is that GPUs remain complex pieces of computing hardware. Taking advantage of that complex hardware still requires a certain amount of software complexity SOMEWHERE even if it was ejected from the API by Microsoft. It went somewhere and that somewhere appears to be onto the shoulders of game developers that ultimately answer to cost-sensitive game publishers. At least now, when we get the next Batman: Arkham Shovelware or Bethesda Softworks sandbox RPG that requires 3rd party modder patches to actually add the required sand, we can more rightfully point angry fingers at the publisher and developer studio.
On a side note, I do hope developers focus on Vulkan (though I realize how much of a delusional pipe dream that is) so those of us who are pure penguins after getting fed up with setting up firewall rules to stop Windows 10 from Big Brothering our computers with all those encrypted 40MB packages it periodically pushes back up to the mothership.
Stuka87 - Monday, March 14, 2016 - link
Of course no mention was made of some of the more recent DX12 failures, such as Gears of War, which is an absolute travesty.xenol - Monday, March 14, 2016 - link
It's nice to see this article show that DX12 and by extension, Vulkan, isn't some kind of free ride to performance. Nor is it going to be a quick transition. These API are changing the way developers have to code their games.