Hi, 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.
> 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.
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.