Hacker News new | ask | show | jobs
by riotdash 3619 days ago
As a game developer I'm pretty excited about this. There is really no reason to use DX12 backend anymore in the future game development, because of the ease of development, performance and multiplatform features of the Vulkan.
3 comments

I think the pain point of DX12 is it's incompatibility with Windows 7 (and 8). However, Windows 10 is getting a lot of traction and has surpassed Windows 7 in gamers market share (see http://store.steampowered.com/hwsurvey/directx/).

With that in mind, if you are working on a AAA game that will come out in a couple of years, your target platforms will most likely be PS4, Xbox One and Windows 10. With those three, Vulkan doesn't make sense; DX12 will be used on Windows and Xbox One, and PS4 has its own proprietary API. Why complicate things with another API if you can use (almost) the same implementation for Xbox One and Windows 10?

If Windows 7 proves itself to be still somewhat popular amongs gamers, then Vulkan might be used to port games to this platform, since it's similar to DX12 so it will be way easier than a DX11 port.

However, right now, if game developers wants to use the latest API, Vulkan is a good choice since you will still be able to target Windows 7. If a lot of big games are released with Vulkan within 2 years, then it might slow down Windows 10's adoption and the market share of Vulkan systems (Windows Vista and up) will stay greater than the DX12 one (Windows 10) for longer. But for how many years? At one point, Windows 10 (or whatever's after) will dominate and the backward compatibility of Vulkan will stop being a useful marketing point.

So I'm not sure why you say there's no reason to use DX12. There's many. There's also a lot of good reasons to choose Vulkan that I didn't talk about here. I just don't see how Vulkan can dominates the Windows market, much like OpenGL.

Except the little detail that there is zero Vulkan support on:

- iOS

- macOS

- PSP, PS3, PS4

- Wii U, 3DS

- XBox 360, ONE

- any Android version < Android 7

- UWP

And there is DX12 support for those?
Metal, on the Apple platforms, is similar.
More similar to DX12 than it is to Vulkan?

Because all three are APIs which try to provide a lot more control over the GPU to game developers. And I wouldn't know of any other similarities that DX12 and Metal share...

Metal is inferior to Vulkan.
Metal is and will always be exclusive to apple platforms.
Yes for the XBox ONE, although there are some small differences with the desktop version, at least until the upcoming Aniversary update.

But the point he was making was that there is no need for DX12 because Vulkan works everywhere else.

Right now Vulkan is only supported on custom Android 6 forks for Samsung S7 and NVidia Shield, Android 7, GNU/Linux and Windows on a restricted set of graphic cards.

Hardly a market to target for game developers that want to reach as much eyes as possible.

Vulkan market is MUCH bigger than DX12 market right now, no matter how you put it. It's like at least 3-4x bigger.

Just think how much more popular Windows 7 is compared to DX12. Xbox One is nothing in comparison.

Have you checked Steam hardware survey lately?

Windows 10 users are already 45%, with around 41% having DX 12 GPUs + plus around 20 million Xbox One units.

As for market size of Vulkan, some S7 and NVidia shield as part of 10% Android 6, 0% on Android 7 until it reaches stable and of course those other 55% users that might have a Vulkan compatible card.

You didn't answer the question. DX12 has less market than Vulkan, and will always be limited to MS systems. It's not available on PS or iOS and such. So bringing them as a reason to use DX12 instead of Vulkan was pointless.
That is not what Steam hardware survey says, given the amount of Windows 10 installations plus XBox.
Which are MS systems. So again, no point to bring Apple and Sony as examples of why DX12 is preferable. It's useless there.
But he was saying DX12, and I believe Xbox One will support Vulkan as well, so no need for DX12
He was saying that there is no reason to use DX12 as if Vulkan is everywhere else.

I very much doubt Microsoft will bother to support Vulkan if AAA studios don't ask for it.

> I very much doubt Microsoft will bother to support Vulkan if AAA studios don't ask for it.

They will eventually, when they'll get fed up with MS lock-in stupidity. In order for it to happen, competing market should put more pressure on MS. MS drops lock-in only from fear of competition. And it will eventually happen - there is no need for reinventing the wheel.

People in the industry call that support and productivity thanks to proper tooling instead of leaving each one alone to scatter around for half baked FOSS libraries, but I don't expect activists without experience in the big boys league to understand it.
> People in the industry call that support and productivity

People call that MS tax, since it makes their development more costly. Whether it's developers who work on their own engines, or engine developers who provide their engines for others, this cost is passed to the end user in the form of more bugs, slower development and so on. No sane developer appreciates lock-in. But currently they have no choice.

I believe Vulcan is derived from amd and what us already availabke for ps4? Could be wrong though.
It's not derived from it, but it's derived from Mantle, which was inspired by the PS4's (and PS3 before it) low-level graphics APIs.
Well, considering game industry experience with OpenGL on Windows (which is in short - it doesn't work on production scale) as a game developer I, unfortunately, really doubt that it will gain any traction on Windows based platforms.
Except every id game is OpenGL, many of the first 3D Blizzard games, and the original source engine, all had OpenGL support.
How doesn't it work and how does that transfer to Vulkan?
To be fair I've seen many game developers complain about the version of OpenGL that is included in Windows. Perhaps this had changed but I used to work with a few folks that did game developer on the side and it seemed to be a constant headache.

Though I'm sure there are ways around it, etc. I'm not very knowledgable on the subject but I'd certainly love to know more :)