5 ms·
What ever you think of Vulkan, it is NOT typical of modern software engineering. Its a massive outlier. It is very demanding of its users, it is very low level,
by quelsolaar 3y ago
What ever you think of Vulkan, it is NOT typical of modern software engineering. Its a massive outlier. It is very demanding of its users, it is very low level, it exposes the complexity of the hardware, it is large but not bloated, as it reflects the hardware complexity.
If you complain that modern software is slow (it is), then its because people are NOT using low level APIs like Vulkan, that forces you to think about how to most effectively utilize the hardware. Its because people don't want to know how anything works, and load up on a mountain of dependencies and run everything in a garbage collected virtual machine in a browser.
- mistrial9 3y ago> because people don't want to know how anything works for some definition of "people" .. isn't the detail at the low level sort of overwhelming on modern cards?
- quelsolaar 3y agoYeah, its hard. But the original author complains about having to understand hard things, and then at the same time wonders why modern software sucks. You have your answer right there: If you don't understand a system you can utilize it. Lots of people argue that slow shitty software is good enough, because its not worth spending time, energy and money doing things right. I dont agree with this, but its consistent argument: Money and time is more important then software that runs well. At least then you have made a choice about your priorities.
- LucidLynx 3y agoHi, author here. I made a mistake in the article to be honest. I don’t complain that I have to « understand hard things », but, I missed this in the article, that the complexity of the Vulkan is like 5x more than OpenGL for… 5% better performance? Like Directx12, where most of the Directx11 games do not have any extra valuable performance compared to the complexity of moving to the newer version of the API. I would love to learn a new low-level API for better performance, but I really don’t think the time I spent learning Vulkan to benefit of the same performance I could have using OpenGL worth it. I will make an update to the article this week to make a clearer explanation, thank you for your comment.
- FoodWThrow 3y ago> that the complexity of the Vulkan is like 5x more than OpenGL for… 5% better performance? The complexity of Vulkan can (and in naive cases, always) slow things down in comparison to OpenGL. What you get with Vulkan isn't +X% more performance, but consistent performance. Both OpenGL and DirectX already did all of the things that you need to do with Vulkan/DX12. The difference is that drivers were black boxes back then, and everything worked with heuristics. A relatively minor change could evict you from the fast path into the oblivion. You had to blindly figure your way out, or if you were "big enough" you could contact the driver team, at which point you would enter the world of GPU politics. GPU mafia was/is a real thing. Vulkan cuts straight through that. Yes, synchronization is hard, but it is way harder to figure out when the driver arbitrarily inserts a gigabarrier and when it doesn't. Even with Vulkan/DX12 you still encounter these issues, but at least with these latest APIs you can reason about things, and be generally correct. It was never about more performance. It was always about consistent performance.
- Cacti 3y agoHear me out: we have _two_ APIs.
- quelsolaar 3y agoYes, I used to work in the OpenGL architectural Review board. OpenGL, had fundamental limitations, that only a clean sheet design could overcome. Vulkan is in my opinion 90% the right design. The fact that Apple continues to be Apple is just dumb, and hurts developers and Apple.
- nightowl_games 3y agoWhats apples relevance here? Vulkan can be a good API even without apples involvement.
- keyle 3y agoNo Vulkan on macOS. Molten used for Metal translation.
- 0x457 3y agoPeople love bashing Apple for "being Apple" without really thinking. Metal released almost a whole two years before Vulkan (Mantle is irrelevant). Apple needed a good API for developers because Khronos couldn't get their shit together. We had many versions of OpenGL and OpenGL ES, we had wrappers around OpenGL ES 2 to work on the desktop version. Apple made an API that developers liked, and what do you propose? Apple start being Google and ditch their thing for another thing? Don't see people complaining here about Direct3D being windows-only. If you want cross-platform, then pick ANGLE and call it a day.
- jhasse 3y ago> Apple made an API that developers liked, [...] Citation needed. I definitely didn't like Metal. > [...] and what do you propose? Apple start being Google and ditch their thing for another thing? I would propose Apple to have worked together with Khronos on Vulkan. The could have also cooperated with AMD and based Metal on Mantle (released a year before) - as soon as it was apparent that Mantle will be the base for Vulkan (which was long before its release IIRC) they could have slowly merged it all back together. The least they can do is to also support Vulkan on macOS. > Don't see people complaining here about Direct3D being windows-only. Ehm, the article we are commenting on complains about it being Windows only.