3 ms·
Yes. Windows supports Vulkan just fine, but engine support is lacking. IMO Metal prevents it from being universal in engines such as Unity, so instead a lot of
by ynx 4y ago
Yes.
Windows supports Vulkan just fine, but engine support is lacking. IMO Metal prevents it from being universal in engines such as Unity, so instead a lot of effort goes into DX11 as the lowest-common-denominator to emulate i.e. with shaders. As a result, DX12 AND Vulkan progress is held back IMO because shader performance is necessarily worse when you have multiple layers of inefficient transpiling instead of running SPIR-V everywhere.
To add to that, I don't think most mobile developers are going to Metal directly; a huge number of them make use of it through Unreal or Unity. With Unity, customizing the rendering backend is not really possible without an insane amount of internal knowledge about it (not to mention source access at the read-only level or above).
I think that Vulkan is not particularly behind as an API, it's closer to a usable "almost there" state in terms of developer access. If Unity threw their weight behind improving their shader compilation pipeline and building it around SPIR-V/Vulkan, I think it would rapidly become more universal.
- dagmx 4y agospir-v can be transpiled to MSL just fine so I’m not sure how Metal is holding Vulkan back. Even then, none of these game engines are using direct authored shaders anymore, instead using shader graphs which are much easier to target any backend on. In the case of Unity they also support WebGL which is much more limited than any of the other APIs and somehow WebGL isn’t holding those back.
- ynx 4y agoSpeaking as a professional gamedev...no. Shader Graph is being pushed but still results in sufficient boilerplate that it's worth optimizing directly.