Metal vs OpenCL/OpenGL

They don’t care on windows either not sure what you are getting at. It’s not so much that Adobe doesn’t care it’s that they are very slow moving train and like all big companies they won’t move unless forced to. Adobe still makes significant amount of their revenue on the Mac platform. This is a silly argument on your part. Adobe is an example but that’s not the only company that develops fo the Mac platform.

No it didn’t “take that long”, Apple didn’t actively start pushing developers to Cocoa until Leapord/Snow Leopard when they dropped 64-bit carbon support. Just because Apple doesn’t immediately remove something doesn’t mean it still supported. Not really sure what your argument is here.

No that’s your opinion of what an OS should be. Linux has never been that for me. The Linux kernel has been plagued with regressions, features being dropped, hardware not working from one version to the next etc. Every Ubuntu update used to break something for me. Older apps would no longer work etc.

MS has enterprise customers and that’s their focus but either way even MS has said that Windows 10 will break compatibility with software and drivers at some point and considering how each version of Windows 10 has broken something I believe them. Didn’t MS say that they too would be dropping 32-bit support at some point? You think that’s not going to break some apps? So your definition of what an OS is supposed to be doesn’t seem to match reality at this point. Both Windows and macOS are on a yearly update cycle (windows on a two a year cycle), that is going to break something, period. So is Adobe going to twiddle their thumbs every time something breaks or get on the train? There is no longer a guarantee that two windows 10 updates from now that your app will still work.

Type Windows 10 broke app in Google and get back to me.

2 Likes

Runtime translation of SPIR-V into MSL is to be avoided at all costs due to significant performance issues. This is the advice of the person who wrote the MoltenVK documentation.

Apparently not enough to fix their app on time, to deal with whatever bullshit Apple serves them in their latest OS update.

My point is that Apple can’t be both fast at getting developers to adopt their new APIs (your claim) but then be really slow at removing the deprecated ones. Why maintain a deprecated API when everyone moved to the new one? That would be pointless.

If people are slow to move away from OpenGL to Metal, we’ll have the same situation.

That’s my opinion on what you should want in an operating system, as a user. If you want a system that breaks all the time and burdens developers with nonsense to the point that they despise the platform, you get inferior software. That’s what you get for choosing Mac OS to run Blender on right now: An inferior version of Blender.

This isn’t at all specific to Mac OS, it’s even more true for Linux distributions, where shipping software is a nightmare, but it’s also true for Windows, just to a far lesser extent.

Do you have a source for that? The documentation doesn’t say anything about runtime translation causing performance issues. It says that both offline and runtime translation use the same code, so they should give the same result.

Perhaps you’re referring to the issue of shader compile times (loading times), which can add up if you have lots of shaders. That doesn’t affect the performance of the shader itself though, unless maybe you do less optimizations to save on compile time.

That’s a pretty dumb argument. I wouldn’t even call it an argument really. Let’s see what Adobe does when Windows 10 drops 32-bit support. Will your argument be that Adobe doesn’t make enough revenue from Windows because the have “to deal with whatever bullshit MS serves them in their latest OS update”?

No my clam was that Apple was good at getting developers on board with their apis not that they were fast about getting developers on board. I have no idea where you read that but that’s not what I wrote. Like all things developers are a slow moving train but eventually they do follow Apple’s lead and that has been proven time and time again. They really don’t have choice in the matter if they want to support the macOS platform.

Which may or may not be the case. Is the version of Blender on Window superior? for a long time performance on the Windows version of Blender was worse than both macOS and Linux versions (due the way it was compile if I’m not mistaken). So I don’t really see correlation there. But either way the reality is that all major platforms are moving to yearly update cycle and they don’t care what they break. So you were trying to make it an Apple specific
thing but readily admit that all platforms are doing the same thing. Not really seeing your point then.

Who says Windows 10 will drop 32-bit application support? What’s the point? Lots of applications are 32-bit, including many Microsoft applications. They actually need it to emulate x86 on ARM.

If Microsoft pulled a move that stupid and Adobe didn’t update some 32-bit apps, I would be supporting Adobe. Most Adobe applications are already 64-bit though.

What other metric besides adoption rate could possibly be making the distinction between good and bad in this context? If it takes you a long time to get developers to adopt your new API, you are actually bad at it.

The version on Mac OS is inferior, because OpenGL on Mac OS is inferior - and its shiny new Eevee renderer is based on OpenGL. Also, NVIDIA/CUDA support is limited.

Also, in the past Blender was really conservative about using newer hardware features, especially when they didn’t work on Mac OS. I think it’s time to abandon that approach, when even the cheapest hardware has all the features that OpenGL on Mac OS just happens to not expose.

Even if you do support Metal, you would not get to take advantage of all the hardware capabilities, if you wanted. Metal tends to be feature-limited by mobile GPUs and there are no vendor extensions (VK/OGL) or feature levels (DX). We can argue about how important those features are, but there’s no argument on which platforms has the worst support for graphics hardware: Mac OS.

That really only affected CPU workloads and it was due to the fact that GCC/Clang produce better code than Microsoft’s compiler. However, having Blender built with Clang on Windows isn’t out of the question. Chrome on Windows demonstrates that this is feasible.

As they are on macOS. The issue is the CC launcher which is 32-bit if I’m not mistaken. On top of that why would you be supporting a company that has the resources to update their apps but don’t. I don’t get your logic there.

I don’t know look at MS and their desperate attempt to move away from Win32. Now juxtapose that with what Apple did with Carbon and Cocoa and you’ll have your answer.

That would be true if the version of OpenGL used even in EEVEE were greater than 3.0 compatibility which macOS does. As far as I’m aware Blender on macOS supports all of EEVEE’s features.

This assertion doesn’t really hold water. Blender has always targeted lower specced hardware because they know that most of those users downloading Blender are using it on a laptop, or low tier machines. That’s why it took them that long to upgrade the viewport in the first place. If it had anything to do with macOS, it was just a part not the whole. Makes no sense to lay that on Apple’s shoulders.

Those resources could be spent on other things than paying for breakage incurred by the OS vendor. That’s why the OS vendors need to be strongly discouraged from doing it. Why should Microsoft spend Adobe’s money for changes that neither Adobe nor its customers asked for?

For Microsoft, this is hypothetical, because they generally go a long way to make sure compatibility for important apps is maintained, if for no other reason than needing it for their own apps. It’s a very stable platform and that’s one of its strongest selling points.

I think this is still true today, even though they wish they could just break everything. When they tried to launch UWP, which broke almost everything, they fell flat on their face. Imagine what happened if everyone just started supporting it: Windows would have become a walled garden.

So if I follow you here, anything other than complete and utter failure to have developers adopt their new API is “good”. Fair enough.

In any event, the move from Win32 to UWP was far more invasive than Carbon/Cocoa. It would’ve been comparable to Apple saying everyone now needs to develop with iOS APIs and the only way to ship software is through the App Store.

Again, I’m glad Microsoft failed so hard at this, because UWP was completely unacceptable, even when the Microsoft Store limitation was lifted.

It’s also true because drivers are buggier and performance is worse.

Perhaps, but like I said, I don’t think this is warranted going into the future. Why shouldn’t EEVEE benefit from compute shaders, for instance? Why should developers limit themselves to support an inferior platform with relatively few users?

I’m not saying it was “the whole reason”, but it’s certainly a factor in decision-making. Most developers actually care about being platform-independent, they despise adding in special cases.

Because it’s not about the platform it’s about the hardware that they need to support and the majority of Blender users are not power users with relatively expensive video cards that even support those features. It’s the same thing Valve has to deal with when doing their survey. The majority of Steam users are not on the best most powerful gaming rigs. Most are on budget machines with IGP.

Even a company like Autodesk only supports a very small list of the OGL features. 3D DCC apps have traditionally been very conservative in that regard. I doubt the BF would want to alienate a huge swath of users to give a few the new shiny. That could change if Vulkan gets implemented but I highly doubt it.

UWP is at least Microsoft’s 3rd (4th?) attempt to get developers off of Win32 and it still hasn’t happened. Regardless my point still stands. Apple was able to get developers on Cocoa relatively painlessly.

We can get all cerebral about the why’s but at the end of the day it doesn’t really matter. The ball is In Adobe’s court to either support their customers or not. Not the OS vendor unless it’s bug in the OS. The OS vendor has their priorities to worry about. So you can keep arguing in circles about the why but that doesn’t change reality. MS, Apple, Linux are more than willing to break things and the software developers have to figure out how to manage or be willing to piss of customers. If as customer I find out the issue is on the developers part and not the OS, imo the blame is on the developer. I’m not going to contacting MS or Apple support. Why would I if the issue is with the software?

It’s like people lamenting Blender add-ons not working from 2.7 to 2.8. Should I place that blame on the BF?

It’s not hypothetical. Like I said Google Windows 10 update broke app. You will see plenty of apps (VMWare is an example) and hardware that have been broken by an update. The situation is only going to get worse over time, across all platforms.

I’m also borderline convinced that Adobe doesn’t update their software to be able to keep charging for subs.

OpenGL 4.3 and Compute Shaders have been supported on all desktop GPU architectures, from low end to high end, for many years now.

These are worlds of difference. On Linux, the distribution includes pretty much all the software that the user will want to run. If it breaks, it gets fixed by the package maintainers. Third-party software is an afterthought at best, which is why there is so little commercial software on Linux.

Linus Torvalds agrees on this, this is what he has to say about the situation:

So, if you want to fail on the Desktop, do what Linux distros do: Break stuff all the time, make developers clean up after you.

Of course! Scripts don’t break themselves. I always get mad at Blender breaking perfectly working scripts for completely stupid reasons, like renaming functions in the API just so that they have a better name. For a while, this happened with almost every release.

Blender is free software though so you “can’t complain”. Build on it at your own peril.

I’m not saying Microsoft never breaks anything, but they wouldn’t intentionally push out an update that breaks Photoshop. Microsoft puts lots of compatibility workarounds into their software in order to not break stuff. There’s lots of decades-old binaries that work just fine on Windows 10.

1 Like

Okay but that’s not what’s happening with Apple and Catalina. You make it seem like Apple broke all the apps in the update. We deploy macOS machines in our environment and update to the latest OS every year 1st/2nd quarter. Initial testing shows that very little apps in our environment broke, the few that did have updates already from their respective developers. The security model is more stringent and a little annoying but I’m typing this now on a Catalina machine that was upgraded from Mojave and other than a complaint or two from MS Office’s Autoupdater (which I promptly updated) every app on the machine works pretty flawlessly. Even the Adobe products after updating the CC launcher (Adobe updated the CC app) are working properly.

I’ll probably be flagged as off-topic, but who cares …
Do you still believe that Apple takes into account the niche of Mac Pro users?
Try to expand your perspective, Apple is no longer a Computer Company. Give yourself peace and take note of it.
They don’t give a damn about Mac Pro users, nor do they support the needs of an even smaller niche that is Blender Mac Users.
They made money, and now they invest in bricks and mortar.
bye bye dreams of Steve.

https://www.citylab.com/equity/2019/11/apple-plan-california-affordable-housing-newsom-zoning-rules/601420/

AMD supporting Vulcan is nice and everything, but why do AMD peeps keep ignoring that it took the better part of a decade to get Cycles to run properly on AMD CPUs? Besides that, nearly every other professional graphics application uses CUDA, not OpenCL. If you are building a pro rig, it will have an Nvidia card, not because they are better or faster than AMD cards, but because that is what software is configured to be accelerated on. Using anything else is hobbling yourself and your work.

2 Likes

I think it’s already well established that if you are heavy into Blender or any other 3D program, you probably will want to be using a juiced PC with CUDA. AMD supporting Vulkan is awesome primarily for those of us who use Macs for a variety of reasons, yet still love and want to use Blender in the future.

I want to give you a broader overview of what happens at Apple and why in recent years they have become a closed and hostile environment.

The real problem in Apple in the traditional computer world is Satya Nadella, his revolution in Microsoft has blown the bank both to Apple and to the open source operating system communities.

His policies have meant that Windows 10 became a serious Operating System that works and is not hostile to communities, that we continued to run away because of the bad functional environment they had created … also with the policy of allowing all old windows OS to be upgraded to windows 10 for free, has definitively calmed down the bad moods of all and to date, there is no longer any real reason to denigrate it, Linux non fanatic users have returned to using Windows, ex Mac os users, for via the most affordable prices and the most serious environment have done the same thing.

in Apple as users the fanatics and people who seek fashion and status symbol remain.
Microsoft, after having risked bankruptcy, has changed definitively and really turned, and has done so by taking away so many people who had been hired and who over the time acted in a parasitic way.

Now competing with Windows for Apple has become very difficult, and this explains the attitudes to raise castles and to create a closing environment of the last few years, as a result the users as classic Mac computer users pay more dearly for the consequences of these changes.

These threads are evidence of this, all this leads us today to have problems even with standards.

1 Like

Spyware as an OS is not hostile? Ok…

1 Like

This is really stupid, you don’t have to be a ‘fanatic’ to find value in using Linux or a OSX over Windows.

3 Likes

The tinfoil hattery in the Blender community is astounding sometimes

2 Likes

You probably don’t remember what Microsoft’s hostility to its users, developers and competitors was, even Microsoft constantly sabotaged the standards …now things have changed from this point of view.

Spyware is everywhere, even on the web, and I don’t believe that Apple doesn’t use its systems to get data and statistics … yes, I don’t contradict you, we’re probably constantly spied on.

I’m a linux and opensource fanatic, but the facts are clear