Yeah, Apple's implementation of OpenGL was very weak. Not only severely behind schedule but also very poor when it comes to performance hence why most OpenGL games worked better in BootCamp under Windows.
Ah, yes, that is an interesting topic. It is true that Apple at some point stopped adopting new versions of OpenGL (I think it was around 4.1), but lets talk about the performance aspect.
There are two main reasons why OpenGL performance was lacklustre on the Mac side. First has to do with the driver model. In Windows, the OpenGL implementation is left solely to the driver. Your application kind of hooks directly to the driver-provided API and that's it — the hardware vendor controls every single aspect. On Mac, OpenGL works via an Apple-provided driver interface. The OpenGL front is implemented by Apple, and it then communicates with the GPU driver (this is similar to how DirectX works on Windows). This of course creates more overhead and potentially makes the driver implementation less efficient (since OpenGL is a rather messy API to start and you get a lot of useless abstractions).
The second one is more tricky. The fact is that Windows drivers contain tons of game-specific optimisations. Ever wondered why these drivers take so much space? GPU manufacturers make a lot of money from gamers, and they do everything they can to portray their GPUs as superior. They would have game-specific driver implementation, game shader code rewrite/injection etc. etc. This is what ultimately gives that 20-25% performance edge in games to Windows. Since the Mac driver code doesn't have all these optimisations and hacks, it simply can't be as performant.
The problem, in the end, is with the API itself. Both OpenGL and older versions of DirectX were not particularly efficient in the way how they presented the hardware capabilities to the client software. Since a specific game has a particular strategy of utilising that API, the driver can improve the performance by anticipating that strategy and preparing things accordingly. If the only language you have for communication is not very good, domain-specific knowledge can help a lot.
Now, enter new APIs like Vulcan, DX12, Metal. Their execution model is
much closer to how the hardware actually works. This means that the communication layer between the game/app and the GPU becomes thinner. Drivers are easier to write, and knowledge about how the game works doesn't help out that much, since the game is probably already using the GPU quite efficiently. This is also probably the reason why you see AMD performing so much better under DX12/Vulcan — has to do with the quality of their drivers.
Once Apple manages to remove the bugs and kinks from Metal, we could actually see some decent gaming performance on Mac. Again, for many games this will come essentially free since they already use an engine that supports Metal (e.g. Unity).
As to OpenGL... I don't think that it will be removed from MacOS any time soon, but one certainly should stop using it for new software. There is simply no advantage to it anymore. I am very fond of OpenGL, but it belongs to a museum and no amount of bandaids will change that.
[doublepost=1528197448][/doublepost]
OpenGL and OpenCL are not obsolete. They are not replaced by Vulkan.
And that is a tragedy, really. Vulcan is so complex that only few very skilled developers can hope to achieve good result with it. So OpenGL is still kept alive as a "easier", more friendly alternative, despite the decades of legacy garbage it carries around. This promotes bad driver quality, software bugs and portability issues.