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

It is possible that there are Mac-specific bugs not flagged as being on the OSX platform. For example the number has increased since this morning and both of our posts. Thing is, I was happy to waste time this morning on coding - not trawling through bug reports looking for bugs to fix. I’m not a saint, I was just bored. shrug

the issue with mac really only applies to gsl 3.1+ right?

you cant use old and new together, so to get new features
blender would need a rewrite graphically?

same with android core profile?

(asking because this is all gleamed info)

Actually even those 4 that are reported as mac-specific may not be mac-specific and the bugs may appear also on other platforms.

I went though all bugs , 124 of them. These ones reported on macos without the macos tag

  1. https://developer.blender.org/T44998
  2. https://developer.blender.org/T43180
  3. https://developer.blender.org/T36263
  4. https://developer.blender.org/T44994
  5. https://developer.blender.org/T44906
  6. https://developer.blender.org/T44682
  7. https://developer.blender.org/T42808
  8. https://developer.blender.org/T42712
  9. https://developer.blender.org/T42120
  10. https://developer.blender.org/T41870
  11. https://developer.blender.org/T41437
  12. https://developer.blender.org/T44583

except (10) all others are not mac-specific, some are connected to other bugs, few are unconfirmed. None of them are driver, openGL or OpenCL related. By the way and to be fair the same can be said about the majority of bugs that are reported for Windows , in most cases is a typical case of Blender bug that something in the source does not work as it suppose to.

The main issue is mainly old version of OpenCL , Blender can live without most recent OpenGL version but OpenCL is really important for the GPU acceleration of Cycles on AMD cards. Macos supports on recent hardware and OS , OpenGL is 4.1 (8-8-11) and OpenCL is 1.21 ( 15-11-11) . Dates are ( day - month - year).

Latest OpenGL is 4.5 ( 11-08-14 ) latest OpenCL is 2.1 ( 29-1-15 ).

You can support multiple versions of OpenGL , this is what Blender does and support down to OpenGL 1.1 . There is no need to rewrite Blender, but if its ported to Metal it will need a major rewrite yeap .

Android uses OpenGL ES which is a diffirent kind of beast.

3DSMax isn’t a good case if you are trying make it seem like OS X isn’t a lucrative platform. 3DSMax was built from the ground up to be a Windows application. The same with XSI which even on Linux uses a compatibility layer ( I think it was called win4lin) very similar to WINE. The reason why Softimage went this route should be obvious, at the time they were owned by MS and MS were the ones pushing for a modern XSI using MS technology. That ended up shooting them in foot in the long run though and Autodesk wasn’t going to put resources into the application to rewrite it, the same goes for 3DSMax. 3DSMax is primarily used for game development as a DCC app and Autodesk has been trying to migrate even those users to Maya. 3DSMax is not getting ported because Autodesk doesn’t want to spend the resources on it when Maya does the same thing but better (arguably) and is cross-platform and on top of that is getting most of the development resources anyway.

Adobe is the perfect company to pick because they are as big as Autodesk and they wholeheartedly support OS X even when Apple hasn’t shown them the same kind of support (the carbon fiasco, flash, etc.), why, because that’s half of their market. Why would you discount that to make a point about 3D? If we are talking 3D you have most of the major 3d apps in OS X as it is. Cinema 4D, Modo, Zbrush, Houdini, Maya. and countless others. Almost every recent DCC app has an OS X version. Whether 3DSMax gets ported to OS X is neither here nor there, arguably the crown jewels in this space is Maya, with 3DSMax getting the scraps of Autodesk development in-terms of resources spent. Autodesk isn;t trying to spend more resources there than they have to.

My last point. I know we are on BlenderArtists and some here drink the Kool-aid but Blender’s market share is irrelevant in the grand scheme of things when it comes to professional 3d apps. The post I responded to said professional developers would stop supporting OS X, that is simply not true. People forget that this is an already niche industry, you don’t leave a huge chunk of your users behind because you don’t want to support Apple. There is chance that if you are not giving the users what they want they will look elsewhere. FPX is a good example. Users did not like what Apple was going with with it so a large chunk migrated to Adobe, but they still didn’t leave the OS X platform. That has to say something to you. That definitely said something to Adobe, that they can make money on the platform and that mac users pay for software and will tend to stick with the platform.

Right now in-terms of 3d DCC apps on OS X the biggest hurdle isn’t cross-platform compatibility it’s performance. OS X has been lagging in OpenGL support for years though the situation is far better now than it was even two years ago. Metal addresses and developers would be crazy to ignore that because users will expect them to and if they don’t; someone else will and they will lose customers.

Blender as OSS can get away with a lot (it’s not like performance is good now, and in that respect it’s not Apple’s fault as it’s dog on any platform when ti comes to viewport performance). It’s free so you can’t really complain about it too much. People paying thousands of dollars for their software are a whole different story. You aren’t going to tell them that they need to move to windows. That won’t go over well.

It may seem naive to you but the fact is that the platform is lucrative and Mac users spend more money per their little market share than Windows users. Just like everyone talks about Android and their market share but all the app money is still being generated on Apple’s platform. Market share doesn’t mean squat, it means you have a lot of users, it doesn’t mean you have a lot of customers. There is a difference.

Android generates more money than ios worldwide. Google play alone doesnt but if you include China android markets it generates more.

The OpenCL version right now is unimportant, because Cycles doesn’t use anything beyond 1.0 (or maybe 1.1, but the differences are small). It’s the driver stability that is causing issues.

You can support multiple versions of OpenGL , this is what Blender does and support down to OpenGL 1.1 . There is no need to rewrite Blender, but if its ported to Metal it will need a major rewrite yeap .

Unlike Windows and (most of) Linux, there is no support for the Compatibility Profile on Mac OS. That pretty much means you can either use OpenGL 3+ or 2.1 features. Since Blender relies a lot on those older features, going to modern OpenGL on Mac OS does require significant rewrites. The same problem exists for OpenGL ES on mobile platforms.

I’m not saying it’s not lucrative, but it’s apparently not lucrative enough to port 3DSMax. Even if it was written to use 100% Windows APIs, it could still be done if it was worth it.

Adobe is the perfect company to pick because they are as big as Autodesk and they wholeheartedly support OS X even when Apple hasn’t shown them the same kind of support (the carbon fiasco, flash, etc.), why, because that’s half of their market. Why would you discount that to make a point about 3D?

We’re talking about a 3D API and 3D applications. You pick a company that has half its business on Mac OS and doesn’t even do anything serious in 3D. It just doesn’t serve your argument.

If we are talking 3D you have most of the major 3d apps in OS X as it is. Cinema 4D, Modo, Zbrush, Houdini, Maya. and countless others. Almost every recent DCC app has an OS X version

Sure, it’s a platform you absolutely can support, but not one you have to support. If you write your application in a certain way, cross-platform support comes almost for free. With this Metal thing (and the OpenGL support before it) Apple raises the cost, which may not be in their (or their users) interest.

I know we are on BlenderArtists and some here drink the Kool-aid but Blender’s market share is irrelevant in the grand scheme of things when it comes to professional 3d apps. The post I responded to said professional developers would stop supporting OS X, that is simply not true. People forget that this is an already niche industry, you don’t leave a huge chunk of your users behind because you don’t want to support Apple.

Nobody talked about Blender’s market share. I took the 10% figure of Blender mac users as an estimate on platform distributions for other 3D applications, because I don’t have any other data. If it’s really only 10%, then they’re really not that important, and if the cost of development outweighs the profit, support will eventually cease. If you have any better data, bring it on (but please pick actual 3D DCC apps).

Right now in-terms of 3d DCC apps on OS X the biggest hurdle isn’t cross-platform compatibility it’s performance. OS X has been lagging in OpenGL support for years though the situation is far better now than it was even two years ago. Metal addresses and developers would be crazy to ignore that because users will expect them to and if they don’t; someone else will and they will lose customers.

The biggest hurdle (and cost) for developers is driver instability. Again, it depends on the share of Mac OS sales. If it’s really only 10%, then you can easily risk some of your customers switching apps because of performance. Most users will however not switch (it takes a lot for users to switch 3D apps), they will just complain, and they already complain all the time, so no difference there. The OpenGL Core Profile already promised better stability (and performance) on Mac OS and yet applications were very slow to adopt it (some haven’t, to this day).

It may seem naive to you but the fact is that the platform is lucrative and Mac users spend more money per their little market share than Windows users. Just like everyone talks about Android and their market share but all the app money is still being generated on Apple’s platform. Market share doesn’t mean squat, it means you have a lot of users, it doesn’t mean you have a lot of customers. There is a difference.

I don’t see how this relates to what I said. I didn’t even mention market share or mobile platforms in this context. It’s indeed not about market share. It’s about absolute numbers. I replied to this:

“Obviously it’s profitable to develop for OS X or no one would bother but that is not the case is it.”

I gave the example of a developer that got into the top 10 on the Mac App Store, a feat which made him about 500$. Compare that to the months of work that person put into the app. If he knew all along he’d make so little money from being “on top”, would he have developed it? Could he sustain a business like that? Nobody can tell if their application turns out profitable ahead of time.

These app stores give off an illusion of being goldmines, because a few lucky people made a fortune from trivial apps. Then, lots of other developers flocked to the platform, crowding the market. The likelihood of any of them turning in a profit only decreases. Here’s an example of a seasoned and reasonably successful developer that walked away from iOS, because the profits stopped covering the effort of keeping up with Apple’s continually changing platform requirements.

But your point was irrelevant to mine where I was responding to the post about app developers dropping OS X support over Metal. Obviously Adobe, Autodesk, and countless others are making money on the platform. Whether a no name developer made money on an app is irrelevant there is no data about how good his app is, or how useful it actually is. He didn’t make money, maybe his app just wasn’t good enough to garner attention. Had nothing to do with the App Store or the platform. The App Store, especially the iOS one has millions of apps at this point, it’s no longer the gold rush that it was once due to over saturation, but there is still money to be made there.

His quote from that article “I’m just not big and savvy enough anymore to get a good chunk of that money.” It may be harsh but in that environment it’s survival of the fittest. He may survive on say the Android market place but then he will run into the same issue when/if they change their apis and even worse have to deal with the platform fragmentation prevalent in that market, and still be outclassed by other apps to boot. This is not an iOS App Store problem only. Small developers will be affected sure but that wasn’t my point and that should be obvious by my pointing out Adobe, Autodesk, Sidefx. A few stragglers left behind and being vocal about it in an article isn’t indicative of developers not wanting to support the platform. This is one guy who doesn’t have the resources to do what needs to be done. He thinks it’s not worth the effort but countless others do.

Again in-terms of 3DSMax it’s not about how lucrative the OS X platform is, it’s about how lucrative the 3DSMax market is. That particular segment has been in decline over the last years and Autodesk themselves have been pushing Maya in the same industry dominated by 3DSMax. 3DSMax is the platform that is not lucrative or not worth the effort to port over. So yes, it’s not worth porting it over when Maya does the same thing, is the more popular of the two and is the one getting almost all the development resources and support from Autodesk anyway. Might as well ask why Softimage wasn’t ported, it’s obvious why. Yet if we look at other companies, like Sidefx, they ported Houdini because that is there bread winner and they weren’t going to leave a whole market untapped. Has nothing to do with not wanting to support OSX. If 3DSMax was the only package in Autodesk’s arsenal, it probably would have been ported long ago. Just like they ported AutoCAD to OS X, that software is probably the biggest bread winner for Autodesk.

You keep making this about 3D, and I’m speaking about DCC apps in general. It’s silly to exclude Adobe, when Adobe products are used hand in hand with 3D apps anyway. It serves my argument you just don’t want to see it. Even so you then ignored all the other companies who do support OS X, Zbrush, Modo, Houdini, Cinema4D. These companies rely on the OS X platform as a source of revenue. They won’t drop users to spite Apple over an api. It’s just not going to happen and they definitely won’t force users to move to windows. Adobe tried that years ago with Premiere and all they did was allow FCP to slowly encroach and dominate the video editing market. They learned their lesson on that one.

On top of that After Effect, Premiere and Photoshop do use 3d acceleration for a lot of their functions and have been slowly incorporating 3d elements into their packages. I wouldn’t be surprised if the next version of Photoshop look something similar to Mari or Substance painter since Adobe has been losing users to those applications. So they may not be Autodesk, or Sidefx level but they do have 3d elements in their software and have had such for years, especially After Effects. So an api that drastically increases performance is probably very appealing to them as it is appealing to The Foundry and to anyone doing 3d on the platform. No one is saying Blender has to make the decision now, they just have to decide if 10% of downloads is worth the effort.

My point about Blender is that people won’t leave OS X over losing Blender. That just won’t happen.

Here’s your statement:
“Obviously it’s profitable to develop for OS X or no one would bother but that is not the case is it.”

It is simply wrong, fallacious, one does not follow from the other. I’ve given you a general counter-example, I’ve given you examples for mobile App Stores (which you brought up), the context does not matter, because this statement is wrong in general. If you’re still not convinced of your error and want to spend another thousand words on how the situation is different because of XYZ irrelevant side conditions, fine. I’m done.

You keep making this about 3D, and I’m speaking about DCC apps in general.

Great, then let’s not speak any further, because the topic of this thread is Metal and its impact on 3D DCC applications.

Even so you then ignored all the other companies who do support OS X, Zbrush, Modo, Houdini, Cinema4D. These companies rely on the OS X platform as a source of revenue. They won’t drop users to spite Apple over an api. It’s just not going to happen and they definitely won’t force users to move to windows.

I’m not ignoring them. I’m not even arguing that these applications (or Blender) will drop support. I’m saying that if these applications only have like 10% user share and Apple is giving them too much grief, they could drop support and it wouldn’t be a big deal, business-wise. I’m not even arguing Metal is going to cause that.

On top of that After Effect, Premiere and Photoshop do use 3d acceleration for a lot of their functions and have been slowly incorporating 3d elements into their packages.

Which is a completely different situation from having an entire working and tested codebase for a 3D viewport as a fundamental part of your application. Let’s just end this conversation here and wait to see whether Metal has the same fate as the OpenGL core profile, which also had lots of promise that it didn’t really live up to.

Very nice to see that this thread as well seems to turn into a who is right flame war …

Can we focus on what this thread is about?

Welcome to the Internet. Three pages in is about average for strong opinions to start clashing on an open forum. There is a reason I have some people blocked/ignored. shrug

That said…

I would like that too. Mac is my primary platform, I’d like to know if it’s going to remain viable as an OSX one.

On that subject, it appears that we have a couple of problems that are going to make development difficult:

  • OpenGL Issues: Without diving back into that flamewar, it is the understanding of developers (inside & outside BF) that OpenGL is lagging significantly behind Windows/Linux, causing bugs long fixed in drivers on other platforms.
    Also, mixing old & new OpenGL code is an issue. In other words, for OSX to use “new school” OpenGL, all the “old school” OpenGL code needs to be replaced. This is a big task without huge (any?) upside outside the OSX platform.
  • Lack of Developers: Whatever the reason (& we need not delve into this to move forward), there are a lack of OSX developers working on Blender.
  • OSX Backward Compatibility: I ran through a number bugs in the tracker and they could not be reproduced on my machine (not-so-latest laptop, latest OSX software). Several comments in the tracker suggest BF devs & volunteers are encountering the same issue. Some issues that should be trivial to reproduce given the description are next-to-impossible for the developers on later version of OSX to fix without large sinks of time. A bug is not “trivial” unless it can be trivially reproduced, which means “fly-by contributors” (i.e. those like myself willing to throw in the odd hour here & there) cannot actually address them.

I think, to best predict the future of Blender on OSX, we need to look at the future of the above. If OpenGL continues to be an issue (and/or is just dropped by Apple) - the BF has no choice on the matter. If there are no developers, the BF has no choice on the matter. Supporting older version of OSX is somewhat more flexible… but relies heavily on developer & machine availability.

Simply put, I’m happy to point the finger at BF when there is agency involved in the matter. However, on this issue, I cannot be blaming the Blender Foundation when the OSX platform (at least, it’s OGL support) is buggy, they have no developers to draw from, and even the fly-by contributors willing to help cannot reproduce the issues in question.

This problem is out of the BF’s hands and in the control of others - namely Apple & developers with OSX experience.

I don’t see a difference. Whether After Effects is a modeler or not is irrelevant. AfterEffects does rely heavily on the 3d viewport, btw. A 2d app just because it’s 2d doesn’t mean it’s not using a whole lot of gpu acceleration in the backend at that point whether it’s manipulating a sphere in 3d or moving a canvas around becomes irrelevant they are using gpu acceleration which means either OpenGL or CoreDraw on OS X (which uses OpenGL as it’s underlying technology anyway). Metal will replace OpenGL to accelerate CoreDraw (which Adobe can immediately take advantage of since they use CoreDraw for some of their apps), they would still have to port any 3D elements to Metal as well.

Great, then let’s not speak any further, because the topic of this thread is Metal and its impact on 3D DCC applications.

The topic of this thread is about Blender, not about about 3D DCC developers dropping support for OS X over Metal. I bring up Adobe as a counterargument and now it’s irrelevant to the conversation. Okay. Instead of posting about a 3D DCC app developer you post about some guy who couldn’t make it on the app store as some kind of indication that it’s a trending thing (it’s not). Especially when that developer released a failed game in an oversaturated market when free 2 play is king. What was your point again? That developers will do stupid things Okay point taken, what does that have to do with developers moving to another platform and leaving their users in the wind? Maybe you need to look at the topic header again.

Here is the post I responded to.

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.

There is no real evidence or proof that this will happen, in-fact quite the opposite as Apple has seen a lot of developer support since they announced Metal. My post was about dispelling this claim. Developers aren’t going to leave a huge chunk of their users behind to spite Apple. Even at 20% that’s lost revenue that your competitor will pick up because you don’t want to support your users. There are few companies that can get away with that, and if they are a publicly traded company there would be hell to pay to their shareholders.

What is this thread about? The topic says it’s about Blender on OS X, then it turned into an OpenGL on OS X bug report. So at this point it’s all fair game, imo.

sigh

So, fair enough, let’s just assume Adobe relies as significantly on the 3D API on the system as a 3D DCC app. You’re trying to say vendors are not going to abandon the Mac, and as an example you bring up Adobe, which (according to you) has fifty percent of its sales on Mac. You don’t see how this is so cherry-picked, it doesn’t really serve your argument? If you could at least show that Autodesk, SideFX or The Foundry has anything close to that share on Mac, you’d have a point. I’m going with a guess of 10%, which makes for drastically different conclusions. But apparently neither of us know the numbers, so let’s leave it at that.

Instead of posting about a 3D DCC app developer you post about some guy who couldn’t make it on the app store as some kind of indication that it’s a trending thing (it’s not). […] Maybe you need to look at the topic header again.

I used that example to explain to you how your “developers develop for Mac, ergo it must be profitable”-theory is wrong. You brought up App Stores, not me. Now you’re trying to use that against me?

Sorry, your “debate tactics” are so dishonest, it’s painful. I’ll try to avoid ever replying to you again.

If you don’t mind, @apoclypse and @BeerBaron, could you take your debate to PM? Semantic quote battles might be fun to be in, but they’re completely uninteresting to read and have a tendency to drown out the rest of the discussion.

Quite frankly, no one knows what the future holds because all we’ve gotten at this point is a marketing announcement about a new[-ish] API from Apple. There are a lot of unanswered questions and the only company with answers isn’t giving them.

Perhaps a workaround, could be to launch Linux on a stick by USB, and the run Blender from there. ( http://www.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-mac/ ), blender wouldn’t behave different under linux, and it will probably then run faster too.

Remember that releasing Metal doesn’t change the state of OpenGL on the Mac: what has worked before, will work now. If someone wants to make Blender use more modern OpenGL features, anything up to OpenGL 4.1 is possible on OS X just as before. Given the current state of Blender’s OpenGL usage, I would say it’s not OS X that’s currently the limiting factor.

Regarding the temptation to switch to Metal: Benchmarks on iOS show a ~11% speed increase over OpenGL. You can interpret this any way you want, to me it translates to “not worth the effort”.

here and there you also read things like this:

http://www.godotengine.org/wp/first-steps-towards-1-2/

basically stating that there is now a stronger focus from companies behind implementing Vulcan then ever before with openGL which game MS the ability to implement directx so well on Windows.

And what hasn’t worked properly before might not get fixed, ever. It’s not all about version numbers. At this point I’d be very wary of investing into using any more “modern” OpenGL features on Mac OS, with the risk of those features not actually working properly.

Regarding the temptation to switch to Metal: Benchmarks on iOS show a ~11% speed increase over OpenGL. You can interpret this any way you want, to me it translates to “not worth the effort”.

If you’re not bottlenecked by draw calls, the speedup is small. Mobile hardware is extremely bottlenecked by them, so developers do everything optimize for them (which includes the art assets). It’s not as bad on desktop hardware, but you can still see games with CPU bottlenecks where the draw calls are the culprit. Increasing the draw call performance drastically is a great thing to have, but it’s not going to perform miracles if you’re not taking advantage of it. Either way, Apple can advertise up to 8x performance.