4 ms·
It's also a fact of life that that economics dictates where effort is spent. If I port all my OpenGL code to Metal, that's a big undertaking in both time and m
by rleigh 7y ago
It's also a fact of life that that economics dictates where effort is spent. If I port all my OpenGL code to Metal, that's a big undertaking in both time and money. And what do I gain? Nothing. The program will render the same views both before and after the change. It's not directly adding value. So why would I bother?
Also bear in mind that I currently support the application on Windows, Linux, FreeBSD and MacOS. OpenGL rendering works the same on all four platforms, and I have a unified cross-platform codebase which compiles without any trouble on all of them. If I switch to Metal, that's going to mean dropping all the other platforms which use OpenGL. Or it's going to mean having a separate MacOS-specific implementation for Metal. Dropping the other platforms is unacceptable.
MacOS is a niche. Windows is a bigger market. Depending on the application, Linux might be as well. Consider that Windows, Linux, and even FreeBSD can support beefy modern GPUs while MacOS is quite limited in the on-board GPUs on its laptops and other systems. When push comes to shove, MacOS is the platform which I will drop first. It's already got the oldest and most limited OpenGL implementation and the poorest hardware, and this makes it the worst choice for running my application in the first place.
If Apple want to retain developers like me, then they can provide a first-class current OpenGL implementation based on top of Metal. And then they can also provide a high-quality Vulkan implementation also based on top of Metal (or the other way around). Because if I do upgrade, I'll be upgrading to Vulkan on all four platforms, not to Metal.
- pjmlp 7y agoUnity does it for me, no need for Apple to move a finger.