Live data from Hacker News

Former Nvidia Dev's Thoughts on Vulkan/Mantle

gamedev.net

11–20 of 163 posts

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#11

From the looks of it, it seems Khrono's API may actually be significant better/easier to use than DirectX? I haven't heard of DX12 getting overhauled for efficient multi-threading or great multi-GPU support. DX12 probably brings many of the same improvements Mantle brought, but Vulkan seems to go quite a bit beyond that. Also, I assume DX12 will be stuck with some less than pleasant DX10/DX11 legacy code as well.

It sounds like Vulkan is not going to be easy to use. If anything, it is going to be harder to use.

For example, in OpenGL, you can upload a texture with glTexImage2D(), then draw with glDrawElements(), then delete it glDeleteTextures(). The draw command won't be complete yet, but the driver will free the memory once it's no longer being used.

It sounds like with Vulkan, you'll need to allocate GPU memory for your texture, load the memory and convert your data into the right format, submit your draw commands, and then you'll need to WAIT until the draw commands complete before you can deallocate the texture. At every step you're doing the things that used to be automatic. So it's harder to use, but you're dealing with more of the real complexity from the nature of programming a GPU and less artificial complexity created by the API.

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#13
post #5

Very interesting post. So ... the subtext that a lot of people aren't calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold. This begs the question: what about DirectX 12 and Apple's…

So, this suits big engine and AAA studios really well, right, because they can spare that time.

Indies are going to increasingly look at the web and other interfaces because of the easy layers.

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#15

How come, that the open source drivers did not show much better performance?

Because the documentation for the hardware is not open source. You need to sign very strict papers to be able to look at the hardware documentation which means few selected people have access to it which means not much support, etc. Can't remember why I know this but it was something related to my linux open source back in the days.

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#16
post #5

Very interesting post. So ... the subtext that a lot of people aren't calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold. This begs the question: what about DirectX 12 and Apple's…

In its early days, OpenGL benefited in many ways from being a "forward-looking" API that exposed far more functionality than was implemented by graphics hardware. Software that used those features got faster throughout the 90s with no rewriting needed as that functionality became available on GPUs. (Of course, software like games that wanted to be fast now just avoided those features.) When graphics hardware started to include features that hadn't been anticipated in OpenGL, things got messy and stayed messy.

Now that the feature set of graphics hardware is very stable and uniform across different vendors' hardware, the APIs are needed to solve an entirely different problem from what they were invented to do.

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#17
post #5

Very interesting post. So ... the subtext that a lot of people aren't calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold. This begs the question: what about DirectX 12 and Apple's…

So, this suits big engine and AAA studios really well, right, because they can spare that time. Indies are going to increasingly look at the web and other interfaces because of the easy layers.

This might hold true if you're only looking at the actual design/code side of the lifecycle, but it sounds like a key point of the new APIs is to make new projects more testable, debuggable and optimizable. Given most project spend inordinate amounts of time in the those three activities (and it sounds like games moreso), this should be a win for everyone.

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#18
post #4

I've been discussing this a fair amount with a colleague, as I'm curious to see further uptake on linux as a gaming platform. I think the biggest barrier for this is when games are written for D3D and all of a sudden your game cannot communicate to any graphics API outside of windows. More companies are starting to support OpenGL, but I'm just curious as to why uptake is so slow. It seems like poor API design may be…

Having shipped multiple PC games with separate D3D/GL backends, and one game with GL only, a contributing factor here is that OpenGL (at least on Windows) still totally sucks. To be fair, driver vendors have gotten a lot better. And the spec itself has matured tremendously, with some great features that don't even have direct equivalents in Direct3D. Sadly as a whole the API still sucks, especially if you care about…

If Vulkan solves some of these problems, does it seem likely to you that the tooling and community could grow up around it and shift the momentum?

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#19
To me, this neatly explains why in just about every performance comparison of video drivers in Linux shows the proprietary drivers having an edge, even if only a slight one.

I've never actually dived into the source code for the open source video drivers but I'm now curious how much time the devs of the open-source drivers have to spend on anticipating and routing around the brain damage of the programs calling them. Do they similarly try to find a way to correctly do the right thing despite the app crashing if it finds out it didn't get the wrong thing as asked for? Or is the attitude more akin to 'keep your brain damage out of our drivers and go fix your own damned bugs'?

Re: Former Nvidia Dev's Thoughts on Vulkan/Mantle

#20
post #15

How come, that the open source drivers did not show much better performance?

Because the documentation for the hardware is not open source. You need to sign very strict papers to be able to look at the hardware documentation which means few selected people have access to it which means not much support, etc. Can't remember why I know this but it was something related to my linux open source back in the days.

I think things have shifted a bit away from that. IIRC, AMD's pretty free with the documentation for everything that isn't part of the DRM-enforcement chain, so their open source drivers are mostly lacking in manpower. NVidia just won't release the docs at all, so the open source drivers for them are reverse-engineered and plagued by problems like an inability to get most GPUs out of power-saving mode. I'm not sure how open Intel's documentation is, but their only Linux driver is the open-source one that they do significant in-house work on and it has often been competitive with the Windows driver.
Post reply on HN