• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Vulkan 1.0 API specification complete, undergoing final review & polish

Even ignoring contexts where Vulkan competes with DX12 here's where Vulkan will be relevant:

1)It will be the modern high performance graphics API that works under Linux/SteamOS. DX12 doesn't work there for obvious reasons.
2)It will be the modern high performance graphics API that will be integrated into future versions of Android. DX12 doesn't work there for obvious reasons.
3)It will be the modern high performance graphics API that works under Windows XP, Windows Vista, Windows 7 and Windows 8. DX12 doesn't work there for Microsoft's reasons.

Vulkan and DX12 will only overlap on Windows 10. Mantle only works with AMD hardware while Metal only works on Apple platforms. That sums up why Vulkan is needed and why it exists. All the other options tie your code to one platform. Engines like Unity do a lot of the heavy lifting to provide different rendering paths for different platforms and I'm pretty sure they'll all support DX12 as well. But over time, cost/benefit analyses should definitely favor Vulkan if you're creating a high-performance cross platform graphics application, library, or engine from scratch.
 
Just to be clear, I did not say that Vulkan won't be relevant. What I think is that it won't play a major role in the AAA space.

So they will be supporting 2 APIs then. Gotta be consistent with your claims.

For a transitional period. They are thinking long term. They have to support DX11 and DX12 in 2016. But it doesn't matter because they are already familiar with DX11 and have mature tools. The thing is, they already have to learn DX12 for Xbox One. If they would use Vulkan for PC, they still would have to learn DX12.

And Windows 7+8 together will probably still be huge, as W7's marketshare has dropped less than 5% in the last 3 years (the lifespan of Windows 8) and Windows 10 is only free for a year. Even if Windows 10 were to make some miraculous growth over Windows 7, DX12 will be out of date by that time, even in the most extremely optimistic scenarios.

I wouldn't be suprised if we see the first major Windows 10-only games in 2017. This will drive adoption in the relevant target groups.

1) That is a large group of people
2) Integrated graphics get a huge boost from low-level languages
3) and the relevance of integrated graphics is going to increase overtime, not decrease

Again, I am strictly talking about AAA titles here. Games like Battlefield 6 are not being developed for people with Intel IGPs.
 
Gemüsepizza;190118793 said:
For a transitional period.

That you are severely underestimating. Direct X 9 came out in 2002. By the time AAA developers en masse only went from 10 up, we were talking about Windows 8. That's 10 Years.

If DX11 Was only Windows 8, then maybe your prediction would make sense, but the combination of Windows 7 + 8 ( + 8.1) is not something that just gets washed out in a little more than 12 months, especially considering Vulkan makes losing that audience unnecessary.

Gemüsepizza;190118793 said:
Again, I am strictly talking about AAA titles here. Games like Battlefield 6 are not being developed for people with Intel IGPs.

Yes they will be, given the 3 points you drove by without even paying attention to.

I think I'm going to follow Nzyme's lead on this one.
 
That you are severely underestimating. Direct X 9 came out in 2002. By the time AAA developers en masse only went from 10 up, we were talking about Windows 8. That's 10 Years.

If DX11 Was only Windows 8, then maybe your prediction would make sense, but the combination of Windows 7 + 8 ( + 8.1) is not something that just gets washed out in a little more than 12 months, especially considering Vulkan makes losing that audience unnecessary.

Windows 10 doesn't have to completely replace Windows 7 to become a viable target platform for the major AAA devs.

Yes they will be, given the 3 points you drove by without even paying attention to.

I think I'm going to follow Nzyme's lead on this one.

And I think you are massively overestimating the performance bonus we will get from DX12/Vulkan.

But hey, keep dreaming about a future where we can play games like Battlefield 6 on our SteamOS/Linux machines with Intel IGPs thanks to Vulkan.
 
idTech still uses OpenGL doesn't it? Would it make sense for it to use Vulkan in the future?

Edit:

"But hey, keep dreaming about a future where we can play games like Battlefield 6 on our SteamOS/Linux machines with Intel IGPs thanks to Vulkan."

Because no one would like to play games on Linux with their 970s mirite
 
We are talking extremely vague here of course.
DX12 and Vulkan are both a multi year transition and development.

But I just want to add for Vulkan, that it's also the AAA-Space which is using incredible engines, with tons of different Render Back-Ends.
Adding Vulkan is not a real challenge (relative spoken), if you already have and need to support such Interfaces, which shares the same concept.
And having a broad range of platforms you can target with only one API, it makes Vulkan attractive, for nearly everyone who also would target DX12.

Important is an HLSL--> SPIR-V compiler and of course the tools and validation-layers.
We will wait and see how the Vulkan ecosystem will grow.
 
Gemüsepizza;190123404 said:
But hey, keep dreaming about a future where we can play games like Battlefield 6 on our SteamOS/Linux machines with Intel IGPs thanks to Vulkan.

Graphics APIs aren't only for AAA games or SLI Titan X's. Performance is critical for every type of software.

Using Vulkan for a theoretical Battlefield 6 could lower the minimum requirements. That is a net positive anyway you slice it. And DX12 could offer a similar benefit, but with less reach.
 
idTech still uses OpenGL doesn't it? Would it make sense for it to use Vulkan in the future?
I would guess the only important thing which connects OGL and Vulkan is the Shading-Language.
So it might be easy, to at least hand over the shaders to Vulkan.

Since they also support GNM and DX11.X already and have to generate PSSL and HLSL they would also have no problems to support and go for DX12.
 
I would guess the only important thing which connects OGL and Vulkan is the Shading-Language.
So it might be easy, to at least hand over the shaders to Vulkan.

Technically not even that, since Vulkan only speaks SPIR-V and doesn't directly support GLSL (though it's already been stated that a GLSL -> SPIR-V compiler will be available at launch).
 
Gemüsepizza;190114053 said:
They won't do DX12 games and then convert them to DX11. They will do DX11 games and then convert them to DX12.
This is not really the best way to go and develop a game for DX12.
Also for many developers DX11.3 will be better choice of the two.

Same goes for OpenGL and Vulkan.
Both high-level APIs will be available next to new low-level APIs for a quite a while.
 
Yeah, don't be tricked by the fact that Microsoft numbered one API 11 and the other is just 12. DX11 and DX12 are as different as OpenGL and Vulkan. Vulkan and DX12 are more similar to each other in design than they are to their predecessors. A developer cannot support DX11 and DX12 simultaneously by treating DX11 as a subset of DX12 and not using some features of DX12 if only DX11 is available. It's basically a whole different ball game because the new APIs represent a rethinking of the way client code should interact with the GPU.
 
But over time, cost/benefit analyses should definitely favor Vulkan if you're creating a high-performance cross platform graphics application, library, or engine from scratch.

This is highly doubtful as well as you would probably target game consoles first for such library/engine and none of them will ever support Vulkan but at least one of them does support DX12. Cost/benefit really depends on where you want your game to run, there is no clear cut Vulkan victory here either.
 
This is highly doubtful as well as you would probably target game consoles first for such library/engine and none of them will ever support Vulkan but at least one of them does support DX12. Cost/benefit really depends on where you want your game to run, there is no clear cut Vulkan victory here either

It's highly doubtful ... as long as you make a ton of assumptions to limit Vulkan's applicability.

Wrt to the last bolded statement in particular, it's obvious that if you only care about supporting Windows 10+ and XBox[rand()] then DX12+ is a better choice than Vulkan.
 
It's highly doubtful ... as long as you make a ton of assumptions to limit Vulkan's applicability.

Wrt to the last bolded statement in particular, it's obvious that if you only care about supporting Windows 10+ and XBox[rand()] then DX12+ is a better choice than Vulkan.

What I care about is completely irrelevant in this discussion.
 
What I care about is completely irrelevant in this discussion.

That's not a personal "you". Now YOU're just being silly. Bye.
[I say that people who want to target a variety of platforms will be interested in Vulkan; someone says "Not if they're not interested in targeting a variety of platforms, gotcha!". SMH. Unassailable logic.]
 
This is highly doubtful as well as you would probably target game consoles first for such library/engine and none of them will ever support Vulkan but at least one of them does support DX12. Cost/benefit really depends on where you want your game to run, there is no clear cut Vulkan victory here either.

But what about the windows 7/8 version? Why port your dx12 code to dx11 when it would be easier to move it over to vulkan?
 
I honestly cannot process how some posters in this thread do not understand or care about what this technology is all about. It is paralell to how every new marketplace behind a login is "bad" because you already have steam, and why should you have anything else, but this "why not just DX12" takes it to ANOTHER level.

It is *very* simple, folks.
-Vulkan will be on *all* platforms (excluding consoles, but not out of question)
-DX12 is only Win10, and Xbox One.

So...what are we even talking about?
I get it if you want to emulate Capcom/Konami/MS executives trying to block a Vulkan implenentation, but not as customers...
 
But what about the windows 7/8 version? Why port your dx12 code to dx11 when it would be easier to move it over to vulkan?

You could ask the same for DX11 versus OpenGL 4.4. Why do UE4 and Unity default to DX10/11 on Windows 7/8/10 when they do support OpenGL (UE4 requires OGL on XP, for example)? Why does Valve use DirectX on Windows when source now supports OpenGL?
 
You could ask the same for DX11 versus OpenGL 4.4. Why do UE4 and Unity default to DX10/11 on Windows 7/8/10 when they do support OpenGL (UE4 requires OGL on XP, for example)? Why does Valve use DirectX on Windows when source now supports OpenGL?
because dx has historically been far more performant than opengl, and the difference has been large enough to trump the cross-platform advantages

this has largely been thanks to terrible driver support though, and with vulkan being far less driver-dependent i am hoping it will reach parity with dx12
 
You could ask the same for DX11 versus OpenGL 4.4. Why do UE4 and Unity default to DX10/11 on Windows 7/8/10 when they do support OpenGL (UE4 requires OGL on XP, for example)? Why does Valve use DirectX on Windows when source now supports OpenGL?

Because OGL is architecturally a dinosaur that is less well suited to modern pipelines than dx11. It is possible to make OGL perform as well as dx11 but it takes extra work to do so.
 
A universal bytecode based shading/compute language? Yes, please. SPIR-V is gonna kick ass so goddamn hard.

(SPIR-V is part of Vulkan)
 
because dx has historically been far more performant than opengl, and the difference has been large enough to trump the cross-platform advantages

this has largely been thanks to terrible driver support though, and with vulkan being far less driver-dependent i am hoping it will reach parity with dx12

Perhaps, but devs will still need a DX12 render path for the Xbox One and Windows Store (if that ever goes anywhere) anyway. Even if performance is identical, DX12 has a higher chance of working with out-of-the-box drivers, which reduces the likelihood of customers having to download and install additional software to get the game working (and possibly burden customer support).

In the end devs will always go for what works best on each platform.
 
If you're a developer using an engine that has different rendering paths for different platforms you're largely insulated from the differences regardless of Vulkan. However, even for engine implementors Vulkan might be the only option for a modern low-overhead graphics API where DX12 will not be applicable (ie not Windows 10 or XBox).

IIRC, NVidia, AMD, and Intel hardware that support OpenGL 4+ or OpenGLES 3.1+ are "Vulkan-class" and may get Vulkan drivers. Windows should be compatible as far back as XP. That means that the latest rendering approaches enabled by an API like DX12 could also be available to those platforms without hardware or OS upgrades. That sounds like good news for those users. Since the major engines will be supporting Vulkan they'll likely see actual gains in actual games.
 
You could ask the same for DX11 versus OpenGL 4.4. Why do UE4 and Unity default to DX10/11 on Windows 7/8/10 when they do support OpenGL (UE4 requires OGL on XP, for example)? Why does Valve use DirectX on Windows when source now supports OpenGL?

The difference in performance between gl and dx is big enough to explain that.

Remember a few weeks ago a story was floating about how "steamos" got 20% - 40% worse framerates than "Windows 10". It was actually a more representarive of gl vs dx, of course. Dx is just faster. With vulkan vs dx12 that performance delta is out the window.
 
The difference in performance between gl and dx is big enough to explain that.

Remember a few weeks ago a story was floating about how "steamos" got 20% - 40% worse framerates than "Windows 10". It was actually a more representarive of gl vs dx, of course. Dx is just faster. With vulkan vs dx12 that performance delta is out the window.

That is not true, the only reason DX11 is the default API in UE4 and Source 2 for Windows is because AMD OpenGL drivers suck. Also, I doubt UE4 OpenGL backend is as good as DX11 one because of that reason.

OpenGL 4.X has proven to give better performance than DX11, the only reason SteamOS runs worse than windows on most games is because the OpenGL ports are shit.
 
That is not true, the only reason DX11 is the default API in UE4 and Source 2 for Windows is because AMD OpenGL drivers suck. Also, I doubt UE4 OpenGL backend is as good as DX11 one because of that reason.

OpenGL 4.X has proven to give better performance than DX11, the only reason SteamOS runs worse than windows on most games is because the OpenGL ports are shit.

That is a good point. I'm not really knowledgeable regarding how much of the difference is the api vs the drivers vs the port jobs. I do know that the gl versions of games often run slower even on nvidia, whose gl drivers are much better than amds.
 
That is not true, the only reason DX11 is the default API in UE4 and Source 2 for Windows is because AMD OpenGL drivers suck. Also, I doubt UE4 OpenGL backend is as good as DX11 one because of that reason.

OpenGL 4.X has proven to give better performance than DX11, the only reason SteamOS runs worse than windows on most games is because the OpenGL ports are shit.

That's not always the case, though.

A much more concrete reason for that articles' results is that OpenGL tends to come with a lot of CPU Overhead, and that Ars test used a Pentium CPU. That lack of CPU power put DX11 at a huge advantage.

If Ars used a Skylake i7, or even something like the chips in the Alienware Steam Machine, the results would be a lot closer.
 
That's not always the case, though.

A much more concrete reason for that articles' results is that OpenGL tends to come with a lot of CPU Overhead, and that Ars test used a Pentium CPU. That lack of CPU power put DX11 at a huge advantage.

If Ars used a Skylake i7, or even something like the chips in the Alienware Steam Machine, the results would be a lot closer.

You can achieve almost zero driver overhead with OpenGL, developers are to blame.

http://blogs.nvidia.com/blog/2014/03/20/opengl-gdc2014/
 
That's not always the case, though.

A much more concrete reason for that articles' results is that OpenGL tends to come with a lot of CPU Overhead, and that Ars test used a Pentium CPU. That lack of CPU power put DX11 at a huge advantage.

If Ars used a Skylake i7, or even something like the chips in the Alienware Steam Machine, the results would be a lot closer.

I was surprised at how brief that article was, the benchmark seemed almost cursory and they didn't take a very scientific approach. I was expecting something a lot more meaty and substantial.
 
That is a good point. I'm not really knowledgeable regarding how much of the difference is the api vs the drivers vs the port jobs. I do know that the gl versions of games often run slower even on nvidia, whose gl drivers are much better than amds.

This is mostly because GL takes a lot of extra work to be high performance, and most GL games are just ports of DX games. There are some very high performance GL engines, like Source 2 or id Tech 5 (which runs much worse in D3D, case in point The Evil Within), but in general if you're porting something just for compatibility it usually runs worse than the original implementation.
 
But what about the windows 7/8 version? Why port your dx12 code to dx11 when it would be easier to move it over to vulkan?

Porting to DX11 will always be easier than porting to a "thin" API like Vulkan. I also think that we'll see a rather fast move away from supporting 7 and 8 -- and those who will choose to support them will probably use DX11.x on all platforms for this and avoid DX12 altogether. I still don't think that Vulkan and DX12 are such a big deal as they are promoted for PC gaming. The gains in a typical gaming situation are likely to be as minimal as they were with Mantle. No benchmark has proven otherwise yet.
 
The gains in a typical gaming situation are likely to be as minimal as they were with Mantle. No benchmark has proven otherwise yet.

To optimize a title under DX-whatever you optimize your code, and then AMD/NVIDIA need to optimize their code to handle whatever optimizations you used... and then create a ton of SLI hacks to make that code magically work on multiple GPUs (if they can be bothered).

The result can be seen in the utter mess of modern game releases.

DX12/vulkan move that 'magic' into the hands of a developer - it's up to them whether they bother with multiple GPUs, and any optimization occurs outside the black-box driver.
 
To optimize a title under DX-whatever you optimize your code, and then AMD/NVIDIA need to optimize their code to handle whatever optimizations you used... and then create a ton of SLI hacks to make that code magically work on multiple GPUs (if they can be bothered).

The result can be seen in the utter mess of modern game releases.

DX12/vulkan move that 'magic' into the hands of a developer - it's up to them whether they bother with multiple GPUs, and any optimization occurs outside the black-box driver.

I don't care about multiple GPUs. That's less than 1% of the market anyway. I'm talking about a typical single GPU usage scenario. When we're getting results like this:

1080p.png

...In a game which is PC exclusive and is supposed to push the API to the maximum of its capabilities - I'm not expecting even that from DX12 PC versions of console games. Which means that the overall impact of new APIs on the performance and the market will be very minimal.
 
I still don't think that Vulkan and DX12 are such a big deal as they are promoted for PC gaming. The gains in a typical gaming situation are likely to be as minimal as they were with Mantle. No benchmark has proven otherwise yet.
For every low to mid-tier CPU configuration DX12/Vulkan are a huge boost.
Also for mobile devices like laptops and tablets.

Mantle was a exclusive Vendor-API, for which of course no Developer would change major parts of the engine.
Mantle showed that the concept works and where it can achieve dramatic improvements right now, but Mantle was not there to show the potential which is available and we will see over the next months and years.

...In a game which is PC exclusive and is supposed to push the API to the maximum of its capabilities - I'm not expecting even that from DX12 PC versions of console games. Which means that the overall impact of new APIs on the performance and the market will be very minimal.
Which is still Beta with young drivers and doesn't push the API to the maximum of its capabilities.*
And no game will do it in the near future.

* (although the CPU-Side might be very good)


With the "recent" Game-Version and Drivers AMD and Nvidia got some gains:
http://www.computerbase.de/2015-10/ashes-of-the-singularity-neue-directx-12-benchmarks-mit-amd-und-nvidia/#diagramm-ashes-of-the-singularity-directx-12-1920-1080

Before, the DX12 Path was 7% faster for the 980Ti at the Medium-Preset, now it's 15%.
Also for the 970 the DX12 Path is not slower anymore. (Medium-Preset).
 
If a game's bottleneck is either fillrate or fragment processing, then of course the gains from DX12/Vulkan over DX11/GL4.4 aren't going to be very expressive.

Also, any game designed to scale down to not use bindless textures and indirect draw calls will, by design, be using a reasonable amount of draw calls so it doesn't run like a slideshow without those features (which can lower the cost of draw calls by over 20x), so they won't benefit drastically when using them.
 
For every low to mid-tier CPU configuration DX12/Vulkan are a huge boost.
Also for mobile devices like laptops and tablets.
Hardly a typical gaming configuration when you have a fast GPU and slow CPU. Most gaming PCs use i5s and mid-tier is i3. And mobile devices are more than likely to be GPU limited in any API.

Mantle was a exclusive Vendor-API, for which of course no Developer would change major parts of the engine.
Mantle showed that the concept works and where it can achieve dramatic improvements right now, but Mantle was not there to show the potential which is available and we will see over the next months and years.
The only place where I saw any dramatic improvements with new APIs are synthetic draw calls benchmarks which are nice but is hardly a most important thing in a real gaming engine. Mantle has shown ~5% increase on average which is less than I expect from DX12 but I still don't expect more than ~10% which isn't much in the grand scheme of things. I mean such increases are something that we get with new drivers almost every new driver release.
 
Hardly a typical gaming configuration when you have a fast GPU and slow CPU. Most gaming PCs use i5s and mid-tier is i3. And mobile devices are more than likely to be GPU limited in any API.
A low-CPU-overhead api will help in any situations where the CPU incurs notable frame latency, no matter where the bottleneck stands.
 
Hardly a typical gaming configuration when you have a fast GPU and slow CPU. Most gaming PCs use i5s and mid-tier is i3. And mobile devices are more than likely to be GPU limited in any API.

The point is, it proves it serves to use cpu cycles more efficiently, that meants future DX12 only games can use that extra free cpu for better AI or better physics or whatever.
 
The point is, it proves it serves to use cpu cycles more efficiently, that meants future DX12 only games can use that extra free cpu for better AI or better physics or whatever.

Hence the example of AotS which is supposed to already do that being a PC exclusive and even it doesn't show that big of an increase in DX12 - at least on NV h/w with good DX11 drivers.
 
Hardly a typical gaming configuration when you have a fast GPU and slow CPU. Most gaming PCs use i5s and mid-tier is i3. And mobile devices are more than likely to be GPU limited in any API.

Mobile devices APU/iGPU+CPU are more likely to be power (W) / TDP / thermal limited, and in those cases if you can shave of CPU power usage by Y% you will most likely be able to allocate it back to the GPU and get better performance.
http://techreport.com/news/26916/in...n-tablets-other-thermally-constrained-devices
 
The Talos Principle will support Vulkan,

http://www.croteam.com/talos-principle-will-support-vulkan-first-screenshot-released/

didn't know if it was enough to create a new thread, being a relatively old game I don't know how many people will take advantange of it.

They also mentioned on the steam community that SS3 Vulkan is a thing that could potentially happen.

I will. I have yet to buy it, and was waiting for some sort of tipping point. Vulkan support is too intriguing on top of the game itself.

It's probably not the greatest showcase of Vulkan but that engine always seemed a bit CPU-limited to me, so I imagine it will deliver a nice performance boost to machines with weaker CPUs. There is an Android port for the SHIELD TV which should be interesting if that sees Vulkan support as well.
 
Top Bottom