5 ms·
The take away for me is that vulkan is similar to opengl. Mindlessly complex APIs just to play around with basic stuff. Graphics really doesn't need to be this
by educar 10y ago
The take away for me is that vulkan is similar to opengl. Mindlessly complex APIs just to play around with basic stuff. Graphics really doesn't need to be this complicated :/
- shmerl 10y agoIt's very low level. Khronos noted, that they didn't have time / resources to create a higher level API (on top of Vulkan) that would at least match the level of OpenGL in usability (but would avoid its downsides like stateful nature). Hopefully someone will make such higher level library. Engines can't fill that role - they are too high level and specialized already. So that middle layer is still missing.
- zerr 10y agoWhy missing? Is OpenGL deprecated? (or any such plans..)
- shmerl 10y agoBecause OpenGL is stateful by design. Since there isn't anything else high level enough, OpenGL is still useful, but yes, I expect it to remain only for legacy applications once something better based on Vulkan will emerge.
- ericflo 10y agoWith all due respect, you're definitely not the target market for Vulkan. It's an incredibly low level abstraction layer over GPUs intended to allow rendering engine developers to control the intricate details of the pipeline. For something simple, you'll want to use a game engine like Unity or Unreal, which build on top of this low level stuff to build nice, high level abstractions.
- zerr 10y agoI wander if mass adoption of Vulkan for engine development would initiate "gentrification" - I mean, currently, engine devs enjoy working with OpenGL (or D3D), and there is a big chance many people simply won't enjoy using Vulkan so they won't use it or just leave the field altogether. I suspect using Vulkan will be comfortable for GPU hardware people (hence different demographic).
- geon 10y ago> currently, engine devs enjoy working with OpenGL (or D3D) Where did you get that idea? I almost only ever hear bad things about them both. Bloated APIs with even more bloated drivers. Layers upon layers of hacks and fixes. Presumably, Vulkan will enable the emergence of slim, nice, rapidly evolving apis built on top of them, giving developers much better tools to build apps or engines with.
- zerr 10y ago> giving developers much better tools to build apps or engines with. oh, that's the different [good] thing. I was talking about abstraction level/layer - I doubt those who enjoy (feel comfortable) working at the OpenGL or D3D layer will be the same contingent who will enjoy using Vulkan. But as you said, if some other API-s emerge on top of Vulkan, better than OpenGL, that would be great of course.
- venomsnake 10y agoBefore vulkan you were on the mercy of Nvidia and Ati to literally rewrite your shaders behind the scenes to get good performance. Ati were notoriously bad at this which lead to Nvidia winning big couple of generations in a row, despite having a modest lead at best in tech.
- maccard 10y agoAMD weren't notoriously bad at it, they were pretty much unwilling to do it, whereas nvidia are more than happy to do it
- Tuna-Fish 10y agoVulkan has practically no incidental complexity. The API is complex because it maps directly to a very complex system of hardware. Any simplification would make it worse. If you want a simple way to draw graphics without all the complexity, you don't want a graphics API, you want a game engine.
- panic 10y agoIt's possible to make a less-complex low-level graphics API. Apple's Metal framework manages to be much easier to use (though still a bit of work to set up).
- flohofwoe 10y agoI fully agree that Metal is a much nicer API than Vulkan or OpenGL, but IMHO it isn't really a low-level API in the sense of D3D12 or Vulkan. While Metal also has pipeline-state-objects, command-buffers and some other 'explicit features' like the other two APIs, the entire resource binding is very high level, more like in D3D11 (which IMHO is a good thing, because that is exactly the part that makes D3D12 and Vulkan so complex, while providing only few advantages over the more traditional resource binding). Also, it is still unclear whether D3D12 or Vulkan (or Metal on OSX for that matter) actually provide a real-world advantage in complex games. Most big games that have been released with a D3D12 renderer so far, don't run better than with the D3D11 renderer. Metal mostly shines on iOS, where it is dramatically faster then OpenGLES, but it isn't dramatically better on OSX (at least on the Intel GPU configs I'm testing on).
- shmerl 10y agoI'd compare performance gains of Vulkan with OpenGL, not with DX11.
- tormeh 10y agoWhy? OpenGL is hardly relevant on the desktop. It lost to D3D and everyone knows it. Besides CAD-users few would notice if it stopped working. It should be compared with Dx11 and Dx12 which are the competitors.
- shurcooL 10y agoObligatory "Should I switch to #Vulkan?" chart: https://twitter.com/renderpipeline/status/699501481632886786 https://twitter.com/renderpipeline/status/699501481632886786
- shmerl 10y agoThis chart isn't helpful at present, because OpenGL isn't a proper alternative.
- tinco 10y agoThe chart literally is about deciding whether OpenGL is a proper alternative. Maybe you could add some substance to your statement?
- shmerl 10y agoBecause it assumes the idea that OpenGL is for higher level, and Vulkan is for lower level. However what's needed for higher level is some stateless API based on Vulkan, and that's currently simply missing.