Metal on Mac: where does development of Blender for the Mac go from here?

Greetings,

I’m going to post a few links first as I am NOT a programmer, I’m a graphic & multimedia designer and want to ask if anyone has any insight as to how this will affect the continued use/proliferation of Blender on the Mac platform?

Among the main questions I have are the following:

  • Since Metal is part of OS X El Capitan, does this mean that–in order to possibly take advantage of this technology–a version of Blender would have to be built ONLY for OS X 10.11 (which, in turn would mean that only users with the megabucks to buy a new mac would be able to run it)?
  • Given that an open letter was written to Apple by the LuxRender and endorsed by Ton ( http://www.blendernation.com/2015/05/04/an-open-letter-to-tim-cook/ ) was published regarding Apple’s graphics drivers, what could we blenderheads on macs expect in terms of new versions of Blender being released in the future at this juncture? Or is it too early to say?
  • Blender is one of the first five open-source software packages I install on any and every computer I buy. Should I even look at a Mac in, say, two or three years from now or purchase an Asus and install Fedora/Mint/[insert Linux distro here] because Blender won’t be available for OS X?
  • Basically, is Metal a step forward or backward for Blender development?

Thank you for listening. I hope, if nothing else, this post gets the conversation started.

I wouldn’t worry about metal. It’s the way Apple does business. All the systems are having it only with Apple it’s a “thing” and of course only with apple it’s 10 times faster… If you don’t want to be left behind. Don’t buy a mac.

Correct, only macs running 10.11 will be able to run programs built on ‘Metal’…

Well, there already is trouble with the mac side of blender – from may 3rd –

  • Our very active OS X platform maintainer for many years, Jens Verwiebe - had a suprising statement. He’s going to abandon OS X as a serious 3D/graphics development
    platform. This, he said, because of lack of quality GPU support (OpenGL, OpenCL)
    and annoying Yosemite glitches. It makes this platform too painful to keep using seriously.
    Jens will stay around for at least the 2.75 release. Martijn Berger volunteered to
    take over duties.

Metal is not a replacement for C / C++ / OpenGL / OpenCL… it is another language… blender ‘probably’ will be around on os x on 3 years from now.

Metal would be a step back if blender decided to adopt it, due to its closed nature… not to mention low compatibility… have a look at the upgrade to opengl 2… that in itself has taken 5 years atleast… (they are upto opengl 4.5 then vulkan)

  1. I think so. So to be able to use Metal you will have to have that OS X version. And probably not outdated graphic card.
  2. It is too early. Nobody knows how Blender dev will tackle this. I guess it is best to wait for official announcement. As far as I heard Metal is ike 10x easier to work than OpenGL, so that might boost development, but that is just one thing among many to deal with…
  3. Nobody can answer on this.
  4. Best to wait devs to say something about this. It depends on their decision.

Too early to tell.

The worst case scenario is that Blender will keep relying on openGL and OpenCL and that Apple does not update it (currently it seems OpenGL does not get an update). Thats means Blender will work on Macos but won’t take as much advantage of the GPU. That applies for mac users with AMD GPUs and not for people like me that have NVIDIA cards because CUDA runtime is not developed by Apple , but by NVIDIA itself.

The best scenario is that Blender moves to Metal, which means it will take full advantage of the GPUs.

A third scenario is that Blender does not move to Metal, stick with OpenGL but some third party come and build OpenGL on top of Metal. Its the least possible scenario but its not impossible.

  • Since Metal is part of OS X El Capitan, does this mean that–in order to possibly take advantage of this technology–a version of Blender would have to be built ONLY for OS X 10.11 (which, in turn would mean that only users with the megabucks to buy a new mac would be able to run it)?

You confuse OS version with hardware. MacOS can run also on very old hardware, for example I run Yosemite on my 7 year old iMac. No I don’t think you will need a very recent Mac to be able to run 10.11 and Metal but that is not yet announced AFAIK. 3 year old macs should be fine.

Given that an open letter was written to Apple by the LuxRender and endorsed by Ton ( http://www.blendernation.com/2015/05…r-to-tim-cook/ ) was published regarding Apple’s graphics drivers, what could we blenderheads on macs expect in terms of new versions of Blender being released in the future at this juncture? Or is it too early to say?

Not much, Blender is a very small, tiny fish and since its free its almost insignificant for Apple. Also it does not help that Autodesk, Foundry and most likely other 3d apps companies , including big game companies have already embraced Metal even before it was release on Mac. Another reason to believe that Blender may be completely ignored by Apple is that reports from devs that have access to 10.11 state that OpenGL is still stuck to version 4.1 which means that OpenCL is more less in the same position.

Blender is one of the first five open-source software packages I install on any and every computer I buy. Should I even look at a Mac in, say, two or three years from now or purchase an Asus and install Fedora/Mint/[insert Linux distro here] because Blender won’t be available for OS X?

It depends, OpenGL is not so much of an issue on Blender because it does not take full advtantage of it. Most of Blender relies on far older versions of OpenGL. The situation may change a bit with the new Viewport project but even in that case I suspect that Blender could easily compromise with OpenGL 4.1 for several years. OpenCL is the real problem here because most GPUs that Apple provides are AMD and Cycles need it. You could move around this problem getting a mac with an nvidia like I did , in that case you dont rely on Apple for CUDA since Nvidia provides it and Blender works fine.

Basically, is Metal a step forward or backward for Blender development?

Depends on how you see but I would say definitely a step forward because will give access to far more GPU acceleration for Blender but that also means more work for Blender developers.

Blender is one of the first five open-source software packages I install on any and every computer I buy. Should I even look at a Mac in, say, two or three years from now or purchase an Asus and install Fedora/Mint/[insert Linux distro here] because Blender won’t be available for OS X?

Most likely yes, I think Blender will eventually move to Metal. The problem is what happens in the meantime, and I suspect Blender devs will wait and see how Metal works out for Apple . But I yeah I find hard to believe that Blender wont take advantage of Metal at least partly if its so much faster to opengl.

For example Blender may keep using OpenGL on Macos and use Metal only for Cycles. That could work well so they wont have to maintain both CUDA and OpenCL.

I think what we see here is a situation similar to Cycles when the main dev left, its easy to panic, but the best way is to wait and see. In the end practical minds will come up with practical solutions.

what about a system, where the render is plug and play?

all the data is in a generic format, and the render code interprets the data?

Blender is barely efficient now, going to or from Metal won’t make a difference imo. BF will most likely keep offering OpenGl for the foreseeable future until Apple themselves drops supports. If I remember correctly the viewport stuff is support to be capped at OGL3 so anyone with 4 and up should be good to go. Also it’s quite possible to do a translation layer of sorts between Metal and OGL, it won’t be as fast as pure metal but it’s possible.

At this point Apple has thrown their hat into the graphics api ring, let’s see what happens. I’m hoping it takes off. Looking at the api it’s much easier to use than OGL so far, but it’s still relatively new at this point so let’s see what Apple does with it.

I wonder then if there might be a render engine that is Metal compatible but front end it with Blender… I guess the exporter issues will become a problem :frowning:

Apple is digging its own grave with these “faster” “better” “gooderer” APIs. No one wants their crap. We just have to use it because mac forces us to. One day people are just going to say no lol

Until Metal can be built for windows / mac and linux…the three platforms blender targets… i would doubt they would use it… It is apples version of directx… wont be able to be used on other OS’s.

As long as there is good money to be made on the platform, that’s not going to happen. I know as long as my clients hire me for iOS apps - I’m going to slog through their @#$% API’s and keep saying “Yes please - I like feeding my family”.

On OS X does not work like that . Even though you have stuff that support OGL3 you will not be able to use it. With OS X is if you want to use OGL4.1 you need to ditch any call to lower OGL specs, or you can leave it like that but can not be able to use anything above 2.1.

I think some of you are not quite fair to Apple. They invented and open sourced OpenCL and gave it to the Khronos group, after all.

Metal was only needed because of inefficiencies in OpenGL. OpenGL infers significant CPU penalties, poor multithreading and expensive draw calls. Both DirectX and Metal are far better in this regard. Metal is leaner, meaner, faster, simpler than OpenGL. That’s why the next version of Modo will now be based on Metal, giving Modo 3x frame rates compared to OGL.

Metal is also better in many ways compared to OpenCL, because the compute stuff is more tightly integrated with the drawing. It’s just one API, compared to OGL/OCL, with easy shared memory.

@ William

Susch … don’t educate the Apple haters.

I am quite curious at what point Vulcan will be usable. It somewhat tries to do the same being a slim API but being cross-platform.
But I can understand Apple who does make all 3 OS Apps and the hardware (A7 Chip) wants to have an API that fits well.

Oh come one guys nobody is saying that Metal is bad, or that Apple did that just to add more complexity to already complex situation.
I do not blame them at all for doing this. Legit and justified business decision.

What we are talking about is how will Blender dev react on this. I am also curios how Modo will keep supporting two code paths. And as I said on other thread what keeps Win users (that are majority) asking for Direct X. I am guessing that 99.9% OS X users would cry if someone suggested that Blender start supporting DierctX few years ago…
My guess is that they will just keep using OPenGL until it is entirely dead, few years I guess… But that also means that current state of Blender on Mac will not change much in that period of time.

Do you see what I am talking about? And please stop this Apple haters things, it is funny.

Srecko

Well read some of the other threads and you will see that silly Anti-Apple and everybody else is better notion. Quite childish…

Considering Apples history with introducing new technologies they always dual support things before (if) phasing something out, like the old PPC code or rosetta stone when they switched to Intel.

Instead of users screaming bloody murder I am actually quite curious about what they do right now because like William pointed out openGL in general got pretty fat. Vulcan should change that but before that becomes a standard some more years will go by.

One could claim Apple tries to claim control, one could also say they are tired of Khronos.

At then end like you wrote I am quite sure nothing much will change in the long run and openGL will remain with us.

What really interests me is since OS X is using openGL and thus Apple locks the driver, if Apple will release that grip after OS X uses Metal instead.

If yes and if then openGL will get the much much needed updates or even Vulcan we might have Metal for those who want it and a better openGL for the others.

The only thing that seems for me to indicate that this will not happen is that commercial companies are jumping onto Metal as they announced.

Now the question is if that is so because Apple forces them because Metal will be the only usable API or if they themselfs think Metal will be better and Vulcan will for a long time not be usable.

That’s not education, that’s evangelization. Let’s look at it more soberly…

Metal was not needed on the Desktop at all. There’s a nice low-overhead API called “Vulkan” that could’ve been a nice cross-platform API, too, but Apple apparently doesn’t want that. DirectX11 is not better at issuing draw calls, to the contrary: Only with OpenGL (+extensions) can you achieve near-zero driver overhead. As for multithreading on DirectX11: Few people use this, because it has very little benefit (improvements in the low single-digit percents). DirectX12 addresses this, but unlike Vulkan it will only be available on Windows 10.

Metal is also better in many ways compared to OpenCL, because the
compute stuff is more tightly integrated with the drawing. It’s just one
API, compared to OGL/OCL, with easy shared memory.
Metal is not on par with OpenCL 2.0, another technology Apple has basically thrown under the bus. That means even in the future there won’t be anything non-proprietary to match up with CUDA. Sharing memory in OpenCL/OpenGL was already trivial if it only worked properly on the driver, but there’s also Compute Shaders in OpenGL that Apple never supported.

Just so that you don’t get me wrong: Metal is a really nice API, but it’s not necessary by any means. Apple going its own way further damages the “open” ecosystem that Apple used to benefit from. It remains to be seen whether all those high-profile players that supposedly support Metal are going to be paying more than lip service.

Vulkan isn’t far behind Metal. It’s also going to take years for Metal to become “the standard” on Mac, or D3D12 to become a standard on Windows. Apple has little to gain from being first-to-market here.

My main grief with Metal is the likelyhood of them not supporting Vulkan. They are on the Vulkan workgroup still (their logo is still on the Vulkan site) and I hope they will implement Vulkan.
DX 11 and below isn’t that great performance wise compared to OpenGL. OpenGL in newer versions has started doing AZDO (approaching zero driver overhead) stuff and beat DX performance if done right.
DX12 is like Vulkan a very different API. They could’ve called it something else but DX has recognition and Vulkan not having anything to do with OpenGL is probably good in a lot of ways.

But maybe it won’t be a serious issue porting between API’s as they are simpler (fewer functions and ways to do things) and generally do the same things, create a queue fill it and pass it to the driver. Drivers are going to be simpler as the API’s don’t do as much.

They released Metal on iOS last year and it makes sense for them to port it to OSX. Hopefully they’ll supoport Vulkan to make it easier to port things. Just to remind people OSX is a very small platform for games. OSX is under 4% of steams userbase. Hopefully they see the usefulness of a cross platform API that makes porting easier as they do not have a platform (Desktop that is) that can dictate technologies in the industry.

If every platform has their own API to do things (that includes Google) it’ll be a mess and alot more work for game developers who might even drop support for some platforms.

Also it’s not Khronos fault that OpenGL is a huge mess. They’ve done alot of things to improve the API and the work group doesn’t consist of companies who refuse to change things. Vulkan is nessasery and hopefully it’ll become popular. The Vulkan workgroup consists of many BIG industry names (Epic, Unity, Blizzard, Valve and DICE) so we’re going to see support in the big engines and games going forward. They probably also see what happened to OpenGL and know that if they need to break backwards compatability they are going to do so as they probably want one API that is modern and not locked to one platform.
AMD, nvidia and intel are most likely going to have drivers ready for the spec release (rumors say august at Siggraph) and there’s going to be tools for debugging out of the gate which is great.

For blender it’ll be best to only focus on one API. We know Vulkan is going to be cross platform so hopefully Apple will join (I actually would be surprised if they didn’t) which would make it easier on everybody. Platform specific bugs will hopefully be non existing as the API’s are alot simpler to implement

People don’t seem to complain about DX. And they have done some crazy things with DX over the yearss from dropping 2d support without warning to changing the way the api works. It allows MS to be at the forefront when it comes to realtime rendering, while OGL is still playing catch up and has been for years. In-fact their response to DX, Vulkan isn’t even out yet. What is Apple supposed to do, stick with an aging api, bogged down by committee? DX can move so quickly because they aren’t bogged down by a committee.

Opengl has no benefit to Apple other than cross platform support.

Vendors that make and sell 3d applications will decide what happens here. If they all invest and start porting their solutions to Metal, we might have to do that also at some point.

Personally I think it more likely that the high end software and professional applications will just abandon Apple for windows or Linux. The current Mac Pro is not really the kind of machine that makes these markets happy anyway and Apple being a consumer electronics / fashion company I really wonder if they care at all.