Now I can reply to your comment (what is going on hn, why is there a timer on the reply button the deeper you get?)
Performance with the low level APIs are not something that competes with OpenGLs higher level API, they are complementary; eventually there will be OpenGL drivers written in Vulkan!
That said, I have yet to meet anyone that can give me a practial example that affects gameplay where Vulkan (or Metal/DX12) makes a difference!
Also last but not least fragmentation is bad, I rather support OpenGL (ES) 3 on all platforms than port to those 3 new APIs.
Sure, OpenGL can be implemented on top of the native efficient APIs.
The biggest problem with OpenGL is the state. It severely affects CPU usage and limits parallelism options. The second problem is poor handling of buffers.
It hardly matters, anyway. Vulkan, D3D 12 and Metal are very similar and almost always used indirectly through a game engine that can take advantage of them.
Unity and Unreal are so bad. I mean compile for 30 minutes? To use them is to have technical debt way beyond what is healthy.
So why can't you make OpenGL stateless? It seems to me multithreading is really bad on the new APIs too, you'll have to trash memory with a bunch of buffers that then gets submitted by one thread causing motion to photon latency!
RdR2 had like 10 frames of lag! Completely unplayable.
I prefer direct/forward rendering one one thread and make the graphics simpler instead. Graphical fidelity is not important to make a fun game, just look at Nintendo.
Performance with the low level APIs are not something that competes with OpenGLs higher level API, they are complementary; eventually there will be OpenGL drivers written in Vulkan!
That said, I have yet to meet anyone that can give me a practial example that affects gameplay where Vulkan (or Metal/DX12) makes a difference!
Also last but not least fragmentation is bad, I rather support OpenGL (ES) 3 on all platforms than port to those 3 new APIs.