without empirical evidence I bet that if coder uses everything that OpenGL 4.5 (4 year old API version) brings, then very close (maybe even better as Vulkan has not been polished). if no multithreading needed. usually coders that really are doing cross-platform stuff keep things max at 4.1 (8 year old API version) as that is maximum OpenGL version that Apple wants to create drivers for on macOS on machines not older than ~8 years. or even 3.3 which is old. if not, then 4.5 is way to go as it addresses quite a lot in regards of abstraction and overhead (and since 4.3 there are compute shaders). in “games” other things matter - such as cycles needed for AI.
That’s a loaded question. Vulkan will succeed in places where the performance bottleneck is due to driver overhead and/or batch processing. Vulkan won’t magically make an old GPU more powerful. It gives more flexibility to (and thus demands more from) the developer. Less is hidden under the hood in hard-to-maintain and opaque drivers. For applications that are really pushing the limits of what you can do on a given GPU, Vulkan is going to give you a lot more wiggle room at the top end of performance. If you’re a bad coder, bad Vulkan isn’t going to save you from bad OpenGL.
it’s OK, more things fall into place - no new gaming GPUs until 2020-21
Im actually kind of surprised Apple doesn’t let the gfx card manufacturers take up the mantle and support opengl/opencl via 3rd party drivers.
They’ve already started allowing nvidia to make their own gfx drivers (which apple never used to allow) so it’s not unprecedented. It kind of made sense when the OS relied on OpenGL to function (apple are control freaks), but now it all runs on metal doesn’t it? If that’s the case, the only reason I can see for Apple not allowing 3rd party drivers at this point is just to push Metal down everyone’s throats. At least its a good API, but that doesn’t make Apple’s agenda any less of a bitter pill to swallow.
I’m actually kind of conflicted on this. I hate that Apple is blacklisting OpenGL/OpenCL, but I also love that Apple is finally starting to take high end graphics seriously by writing a competitive high performance graphics API that also does compute.
It’s like they are taking graphics seriously by fucking over every developer that takes graphics seriously.
as an example take memory defragmentation needs when porting to Vulkan (probably many here remember MSW disk defragmenter? ) and how your memory would be eaten up if you don’t do that over time. maybe in Blender we could afford scheduled daemons that cleans stuff up (it HAS to be done) every n minutes and we have loading screen, maybe not.
whatever the case - it takes a lot of effort to invent the right strategy and also to correctly implement and maintain it. that video talks about other concepts in a simple way thus imho a noncoder would also understand what a stretch it is to make things faster in Vulkan (although tip of the iceberg). and how much OpenGL does for you, and why OpenGL still has place especially in creative coding/prototyping world that I’m in (openFramewoks, Cinder, Processing).
macOS can have it’s Metal. same as MSW can have its DX12. the issue is that on MSW vendors are allowed to ship drivers to support Vulkan and OpenGL, so developer has freedom to choose what to use DX12/Vulkan/OGL (well except if targeting UWP), and the consumer can choose to use or not to use a product based on the performance. if a product uses OGL and performs perfectly, why the hell not to use OGL. and if someone can implement the same product in Vulkan and show it’s better… let the market sort itself. meanwhile in macOS has become the most closed platform as none of open standards are supported on it, ONLY proprietary Metal.
OGL 4.6 and GLSL 4.60 specs were released on July 31st, 2017. it is alive and well. i do not see OGL being dropped in the big $$$ engineering sector. scientific sector. and so on. at this point I don’t mind Blender (including Cycles that uses CUDA/OpenCL, and LuxRender) dropping macOS support as there are many other applications that i use and that rely on OGL too. i have used macOS exclusevely for decades now (and i’m only three decades old ). the last reason to use the platform - namely, macOS itself - is fading away. the hardware side of macOS platform for my needs died in ~2012. there is OS now that has my needs covered - runs all industry standard applications (Adobe, MCAD packages, apps for live visuals) and has POSIX shell so i can run all my BSD/*nix goodness. it’s MSW + WSL that has matured tremendously.
If by “high-end graphics” you mean mobile graphics, I agree with you. On the desktop however, I don’t see Apple showing much interest. The dual-GPU Mac is stuck with outdated hardware, and all iMacs except for the priciest two top models are restricted to no more than 4GB VRAM. eGPU support in its current iteration, relying on third party vendors, is a stop-gap solution. Together with the announced but far from shipping upcoming Mac Pro, I get the impression that Apple did not put much emphasis on Mac hardware in general and graphics in particular in the last few years. Maybe the cylindrical Mac Pro did not live up to their expectations?
Well, the recently released iMac Pro offers some pretty powerful, up-to-date CPU + GPU hardware configurations for demanding desktop users.
Time will tell if they let it stagnate like the Mac Pro or actually keep it up to date.
Don’t get me wrong - I use a MacBook Pro every day since I think it’s the best combination of hard- and software (all other systems have terrible HiDPI implementations in comparison). However, in the current Apple hardware lineup I see nothing that’s compelling. When I needed a desktop machine last year, I bought a HP Z workstation. The Mac Pro in 2018 is a joke.
Apple likes to run the whole show, to keep everything as manageable as possible, so I think the iMac Pro is their ideal blend between the configurable Mac Pro and the totally fixed iOS hardware. The iMac Pro is quite a potent although expensive system.
They’ve already started allowing nvidia to make their own gfx drivers (which apple never used to allow) so it’s not unprecedented
I’m not sure what you’re talking about (and I suspect you’re not either) - Nvidia have been publicly releasing MacOS GPU drivers for the better part of a decade (at least since 2011 for MacOS X 10.6.8).
Nvidia don’t require Apple - or anyone else - to “allow” them to do this. Additionally, those drivers have been providing Metal support since 2015, when Apple released MacOS 10.11 El Capitan - which introduced Metal for Mac.
Please don’t take offence, but essentially nothing in your post makes sense, or is based in reality.
And for your own benefit, stop wasting time feeling conflicted over false dichotomies; life’s too short.
Ha, I wasn’t aware nvidia has been releasing its own drivers for 10 years. I used Mac professsionally for over a decade and I remember every time OS X updated we would cross our fingers and hope maya wouldn’t start crapping out using the built-in nvidia drivers. If there were ever any problems with them we had to pray for a new os update to fix them since that was the only way we knew how to update a graphics driver issue on something like snow leopard. Live and learn I guess.
Not only the drivers, if you want CUDA on MacOS, NVIDIA is the way to go.
Apple cannot block a developer from making a driver. Manufacturers have been making drivers for MacOS as long as they have been making for Windows.
In my cause my audio card driver comes directly from the manufacturer, together with essential software to operate the more advanced features. The same applies for Wacom Tablets and countless hardware.
Apple does not make those things because they want to keep things closed
Take your tin foil hats off. The truth will set you free.
The explanation is far simpler.
NVIDIA did not care for great deal of time for the Mac platform and even for Linux , but they got such a bad reputation for it even though many tried to blame Apple and Linux community for the failed drivers. Linux the creator of Linux has gone so far to show the middle finger to NVIDIA in one of his interviews.
Apple rarely gets in the way of things coming to its platform. They welcomed Microsoft with its Microsoft Office with open hands (making a big announcement in one of Apple’s presentations), even though Apple makes a competing product and they also did not stop Microsoft from releasing Visual Studio , probably by far the most popular IDE, on MacOS. Apple also develops its own IDE.
Closing the platform may seem profitable to people who never give a second though , but a closes system comes with huge drawback, as bad support, limited software and software with limited amount of features.
This failing have been so profound that nowdays , the unthinkable happens with the complete domination of open source software (not to be confused with free software). Even the most hostile opponent , Microsoft itself recently open sourced the very heart of its operation system, .NET, a collection of libraries used to make the vast majority of software on Windows and what Windows relies on for much of its functionality. The second most important product for Microsoft after Windows itself.
MacOS may be no Linux, but one thing it is not , is a closed ecosystem. It’s just a closed OS, that have always embraced open source software.
Thanks for the clarification. So why then can’t developers update OpenCL and OpenGL? Everything I’ve heard says that Apple HAS to be the one to update those, which is why we are having such a problem.
They can, they simply don’t care, or its a very low priority. They prefer Metal because its far easier and far better choice, especially when speed is concerned. OpenGL that is, OpenCL I don’t know. Probably more or less the same thing.
Another issue is 90% of developesr use game engines so they never have to touch such technologies. Again they are easier and get the job done faster.
Coding is expensive time wise so coders always try to minimize the effort needed, so unless something must be done, it won’t be done unless there are some very good commercial reasons to be done.
In the case of open source, it lack of developers, which also has commercial roots.
No money , no honey
In open source it wont be an exaggeration to say that you get maximum 1 developer for every 1000 users making a feature request. Which makes everything much harder to happen. The whole idea of open source is to make it easy for users to contribute, but its very rare for a user to want to become a coder and even less so a contributor.
Are you saying is that a developer could update OpenGL in OS X without Apple? I didn’t think that was possible. Or am I just misunderstanding?
Because if we could do that, wouldn’t that be a viable course of action for the development community instead of porting to Metal?
Apple cannot block a developer from making a driver. Manufacturers have been making drivers for MacOS as long as they have been making for Windows.
Stop being ignorant. For ATI GPUs that are “official” within Apple produced machines ATI is forbidden to deploy drivers. Apple locked it down.
Anyone within macOS scene that has waited for OpenCL (or OpenGL that is not 8 years old) support as a enduser (have you really forgotten what it took to get Cycles on macOS, if so - browse the tickets) or has actually written OpenCL on macOS (I have) has this knowledge, read this gist! You can also google up how they resolved it. TL;DR it was done during 10.11.2 public beta period, when ATI engineers were invited to Apple, to resolve outrage as good people pushed the the cited petition wherever possible - apple bugtracker, through ATI engineers for them to pinch Apple, shouting and spamming …
Nvidia supported drivers are blessing to anyone that want to run macOS but on a decent hardware (hackintosh, with Maxwell/Pascal GPUs). None of vanilla macs have such GPUs, last Mac that shipped with NVIDIA was in probably Kepler architecture times.
Nvidia which products are not in any Macs in last few years “can and do this”, but ATI which products are in all macs that have discrete graphics “can, they simply don’t care”.Rrrreally?
have always embraced open source software.
What open standard graphics API macOS will support/allow in the future?
Just to note, since Apple is the sole developer of Metal, they can license it in a way that is incompatible with the GPL or even Open Source licensing in general.
If that happens, then Blender, GIMP, Inkscape, Godot, ect… are essentially kicked out of the Apple ecosystem and your cheapest full-sized DCC option will be a 1000 dollar license for Lightwave (unless you want to want to use the fairly stagnant Bryce and Carrara which DAZ keeps around).
It’s not like there’s no precedent in the land of Apple either, iOS essentially bans most forms of Open Source software due to rules that heavily favor closed-sourced apps (hard to make a FOSS application when everything has to be downloaded through the app. store).
I am the one of those who gave up on Apple. For 3d artist Apple and OSX is just bad choice, at the moment. Too expensive hardware for performances you get … I switched to Linux and Nvidia, and working in Blender and Houdini is night and day compared to OSX. Also have Win 10 on DellXPS for Adobe apps. Until I can have better performances with OSX in 3D, while I am paying premium prices, I am out of it. They choose, well me too. This move with OpenGL was something I predicted year ago, expected it as soon as they introduced Metal. Metal might be great, for you kids, until it starts fully working with most of 3d apps I will probably be retired I need it now, and OSX can not deliver what Win and Linux can. Until than …
I left the Apple ecosystem a few years ago for the same reasons as everyone else. Apple was demonstrating a complete lack of interest in serving the professional graphics market.
However, OSX remains my favorite OS to use, and apple’s hardware/software combination makes for just about the easiest to maintain and most reliable production environment out there (IMHO). If Apple ever decided to properly support our sector again (they used to, believe it or not) then I would be very interested in buying another mac.
Presently, Apple has brought out the iMac Pro, a truly good all-in-one workstation (and stupidly expensive, but that’s another discussion). Plus they are writing Metal, a high performance graphics API that’s good for games, apps and compute.
Looking towards the future is the Mac Pro. That will really be the make-or-break moment for me. They’ve verbally acknowledged that the last mac pro was a mistake and they are now taking professional artists seriously again. But will it be another dead-end trashcan, or will it be a truly upgradable high performance workstation?
If Apple finally brings to market a serious play for the DCC sector, I hope that all the app support they still have hasn’t dried up by then. Which is looking increasingly likely due to them making boneheaded decisions like killing OpenGL/OpenCL.
A great write-up by Mark Alexander, a developer for Houdini:
I definitely appreciate the objective tone of the article, making sure to stay away from any personal opinions he may have on the topic.