8 ms·
I think the biggest driver of Vulkan adoption is the fact that since all the graphics APIs are so low level nowadays, everyone is writing abstraction layers. P
by Mikeb85 4y ago
I think the biggest driver of Vulkan adoption is the fact that since all the graphics APIs are so low level nowadays, everyone is writing abstraction layers. Plus, Vulkan is a hedge against all the proprietary APIs. Also, 2/3 major consoles are on AMD, Vulkan was originally AMD Mantle, gonna guess there's some common tools and functionality...
Anyhow, Vulkan will survive for the same reason as Linux; no one truly trusts MS, Apple, Sony, etc...
- ribit 4y agoJust a minor nitpick: Vulkan might have Mantle DNA but it severely limited some of the original functionality (no pointers in resource binding). Funnily enough the closest API that matches what Mantle could do is Apples Metal.
- pjmlp 4y agoOnly one console supports Vulkan, the Switch. Somehow there is this urban myth about Sony caring about Khronos APIs, when they only did such a thing with the Playstation 1, using GL ES 1.0 + Cg as alternative to their own API, as the adoption was very low, they eventually dropped it. Even on the Switch, if you want all the low level features, you are better served using NVN.
- spatulon 4y agos/Playstation 1/Playstation 3/
- pjmlp 4y agoThanks for the correction, should have looked into my own comments for that. By the way here is one of the public sources on the matter, http://sandstormgames.ca/blog/tag/libgcm/ http://sandstormgames.ca/blog/tag/libgcm/
- capableweb 4y agoSteam Deck also supports Vulkan, asks developers to add Vulkan support if it isn't already added, and if it isn't enabled, will try to automatically shim it: > Vulkan API: We recommend targeting Vulkan as your primary graphics API for best performance and battery life. If you use an engine like Unity or Unreal, enabling Vulkan in your build for all users will result in the highest performance/longevity. (Note: Proton includes a DirectX-to-Vulkan translation layer. If your game or engine has high-quality DirectX support but no Vulkan support, it's likely that this automated translation layer will exceed the performance of doing a custom Vulkan implementation.) https://partner.steamgames.com/doc/steamdeck/recommendations https://partner.steamgames.com/doc/steamdeck/recommendations
- pjmlp 4y agoWhy should I ask such a thing? Programming with Vulkan is like asking everyone to be a device driver developer and a GPU hardware engineer. The recent webinar on profiles felt like a joke, manually jungling JSON files to generate bindings for specific profiles, meanwhile on proprietary 3D APIs that is a simple set of API calls. Khronos still doesn't get what is a productive SDK development experience.
- Mikeb85 4y ago> Programming with Vulkan is like asking everyone to be a device driver developer and a GPU hardware engineer. Yes, that's the point. To use a programming language analogy, OpenGL is C++ and Vulkan is LLVM.
- pjmlp 4y agoMetal, DirectX 12, LibGNMX, NVN prove there is a better way in terms of developer productivity.
- tpxl 4y agoYou don't need to program Vulkan, just whoever writes your engine. If you need to write your own engine it's fine if you don't use Vulkan, but Unreal Engine and Unity have supported Vulkan for a long time.
- duskwuff 4y ago> they only did such a thing with the Playstation 1, using GL ES 1.0 + Cg as alternative to their own API That doesn't add up. The PlayStation came out in 1994, and was followed up by the Playstation 2 in 2000. OpenGL ES 1.0 wasn't released until 2003.
- pjmlp 4y agoTypo, read my answer to sibling comment.
- djmips 4y agoI can vouch. We recently switched from Vulkan to NVN on a Switch title, not for perf reasons but because NVN is supported in the tool chain a little better. If you have a Vulkan title already it might be OK for a quick port to the Switch.
- dagmx 4y agoAgain, your understanding of how Mantle evolved into Vulkan is incorrect as is your understanding of which consoles support Vulkan and how much the graphics APIs for both those consoles differ from Vulkan. Consoles are far from a driving factor for Vulkan other than the need for these engines to abstract anyway.
- Telemoto 4y agoThe normal game developer is quite happy with DirectX if they do not use an engine. Engine is a totally different topic as they do have experts to just support both in parallel. And when you look how DirectX is the default for tons of games on windows you wouldn't say what you said. The DirectX sdk and documentation is also really good.
- miohtama 4y agoAre there any benchmarks if any engine (Unity, Unreal?) is faster on Vulkan?
- smoldesu 4y agoThere's a lot more nuance to the situation than that... different GPUs will have different performance footprints on Vulkan, and the actual ways these engines use Vulkan can differ greatly. Generally, Vulkan yields better performance than directly-equivalent DirectX code. Even since the early days of commercial Vulkan use (2016), the performance uplift has been a notable upside. However, Vulkan code is generally more difficult to write than DirectX (or even OpenGL and Metal, AFAIK), which is part of the price you pay for portability. High-level libraries were expected to paste over these issues, but this infrastructure is still in it's infancy. Ironically, one of the best uses for Vulkan right now is acting as a sort of intermediate representation for DirectX/Metal API calls.
- djmips 4y agoVulkan vs what? DX9 or DX11 or DX12. Also it really matters how well you wrote your Vulkan layer. If you write a good DX12 layer and a good Vulkan layer I think they will be comparable in perf - The bottleneck will be the GPU and/or driver. So it also depends on how well the driver writers did.
- deleted 4y ago[deleted]