Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Marksatt, I have a question for you. Have you got any idea, why Blizzard for first time in years is not developing Mac version of Overwatch? Im asking of course for technical point of view.
 
There'll be a lot more developers angrily waving pitchforks at Apple if they don't develop Metal than there have been with OpenCL because frankly a lot more developers need to render things on a GPU than run GPGPU tasks. The more developers providing feedback the more likely the API is to improve. OpenCL was Apple's specification but even under Khronos and implemented on other OSes it hasn't (AFAIK) dislodged Nvidia's CUDA from being the dominant API for GPGPU programming.



Vulkan wouldn't necessarily be any better - having a theoretical specification for lots of features is not the same thing as actually having drivers from each vendor where all those features work. That was always OpenGL's problem and it'll be interesting to see if Vulkan is any better in practice.

Developers like me have been giving Apple feedback for a long while now and if Metal is to succeed they'll listen to those of us using (or wanting to use) Metal and new versions will add new features - which is pretty much a truism for any API to flourish. Apple's staff aren't daft - they know that. If they don't & Mac Metal goes all pear shaped then perhaps something like that might have to happen - but there'd be repercussions and we haven't got to such a sorry state as you seem to believe.
How many developers have been asking Apple to update openGL when it was only at version 2.1, then 3.2 and now 4.1? Apple have always been years late in terms of openGL features. Now with Metal, there're also years late in terms of features. It looks like history is repeating itself. We'll see at the next WWDC.
 
  • Like
Reactions: Janichsan
I've said before that Metal 1.0 was just the start of the journey, not the end. Very few APIs have all their features ready & working for the first release and it wasn't unreasonable for Apple to prioritise what to implement on the first go. If they track the actual application (not just specification) of newer features in future updates then I don't see why Metal can't do just fine. I wouldn't get too worried by Vulkan - its brand new. These things will play out over years - not months.
But when is Metal supposed to reach any major waypoint in its journey? So far, it's nowhere to being a viable alternative to the other contemporary APIs. How long is it supposed to take to be anywhere near to being competitive to DX12 and Vulkan? A year? Five years? Ten? Apple has proven in the past to move with a glacial pace in this regard and I don't see them stepping up their game now.

Vulkan on the other hand is already fully equivalent in its feature set to the latest iterations of OpenGL.

Vulkan wouldn't necessarily be any better - having a theoretical specification for lots of features is not the same thing as actually having drivers from each vendor where all those features work. That was always OpenGL's problem and it'll be interesting to see if Vulkan is any better in practice.
Well, the thing is that we not just talking about some theoretical specifications: there already are drivers from Nvidia, AMD and Intel that (are supposed) to fully support Vulkan 1.0.
 
Janichsan said:
But when is Metal supposed to reach any major waypoint in its journey?

I can't see Metal on OS X ever being feature equivalent with Vulkan/DirectX12 because I suspect Apple would rather maintain equivalency between OS X Metal and iOS Metal. The current crop of iPhone GPUs are feature equivalent to DX10/OpenGL 3.2. I think only the iPad Pro is any better at OpenGL 3.3.
 
It's a lot of effort to port games over to Mac, thing is, most of us who want to game on our Macs already use Bootcamp to do so.

It would be nice to be able to have some games running with Metal support though, but I don't see it happening unfortunately. Unless someone finds a really easy way to port it over.
 
Marksatt, I have a question for you. Have you got any idea, why Blizzard for first time in years is not developing Mac version of Overwatch? Im asking of course for technical point of view.

I honestly can't say.
 
How many developers have been asking Apple to update openGL when it was only at version 2.1, then 3.2 and now 4.1? Apple have always been years late in terms of openGL features.

Updating Apple's old OpenGL codebase was increasingly difficult which is partly why Apple's GL updates trailed the release of the specification so badly. Apple might have had to take a few steps back but it should now be much easier for them to go forward - they no longer have a massive code layer between the developer & the GPU vendor to keep updating. While the OpenGL specification was defined by the Khronos board & implementation was split between Apple & the vendor the Metal specification is entirely Apple's & the implementation is effectively entirely up to the vendors.

Now with Metal, there're also years late in terms of features. It looks like history is repeating itself. We'll see at the next WWDC.

Metal on Mac is something of a compromise right now & obviously I'd always prefer an all singing, all dancing API that does everything, but wrt UE4 for the foreseeable future trading Geometry/Tessellation for Compute is definitely the right way to go. As I said if Apple want Metal to succeed they can't afford to treat it the same way as they did OpenGL and they know that.
[doublepost=1455830897][/doublepost]
Because you don't know, or... you are behind some type of NDA? ;)

I don't work at Blizzard so I just honestly don't know the why's & wherefore's of their decision.
 
But when is Metal supposed to reach any major waypoint in its journey? So far, it's nowhere to being a viable alternative to the other contemporary APIs.

Metal will replace Mac OpenGL in UE4 sooner rather than later because it is absolutely viable for us. Its taken a while to get to this stage but that's part of the process when working with a new API of such complexity. More features at launch would have been nice - but (with the exception of Geometry shaders) all the essentials (for us) were present.

For the Feral's & Aspyr's of this world Apple will need to add features for it to be viable - they have far less room to manoeuvre around omitted features than we do.

How long is it supposed to take to be anywhere near to being competitive to DX12 and Vulkan? A year? Five years? Ten? Apple has proven in the past to move with a glacial pace in this regard and I don't see them stepping up their game now.

I can't see Metal on OS X ever being feature equivalent with Vulkan/DirectX12 because I suspect Apple would rather maintain equivalency between OS X Metal and iOS Metal. The current crop of iPhone GPUs are feature equivalent to DX10/OpenGL 3.2. I think only the iPad Pro is any better at OpenGL 3.3.

See my previous; Metal isn't OpenGL - the initial Mac Metal implementation would have been a huge undertaking for Apple/vendors but updating it should be *much* easier than it was with OpenGL.

Mac Metal & iOS Metal are likely to retain a mostly common core of features, but features & formats that only work on one platform or another are already present. For example layered rendering only works on Mac & various texture formats only work on iOS (because they don't make sense on current Mac GPUs). Keeping things unified where possible is just good engineering and I've had my say about which features they should add but only Apple know what their ultimate intentions for Metal are. Time will tell...

Vulkan on the other hand is already fully equivalent in its feature set to the latest iterations of OpenGL.

More importantly the Vulkan specification is functionally equivalent to D3D - which remains the 800lb gorilla of graphics APIs. That makes it very enticing for a lot of developers *but* a specification is not the same thing as working drivers from each vendor for all the GPUs developers need to support.

Well, the thing is that we not just talking about some theoretical specifications: there already are drivers from Nvidia, AMD and Intel that (are supposed) to fully support Vulkan 1.0.

And there's the rub - Nvidia & Intel's drivers pass a conformance test (despite Vulkan being based on Mantle, AMD's do not) which is not the same thing as all of those specified features working exactly as described in a real game on real gamers' H/W. Just as Metal wasn't a panacea for Mac gaming in the wake of WWDC, neither is Vulkan. So far Vulkan is just promising in theory - not working in practice.
[doublepost=1455835665][/doublepost]
It's a lot of effort to port games over to Mac, thing is, most of us who want to game on our Macs already use Bootcamp to do so.

It would be nice to be able to have some games running with Metal support though, but I don't see it happening unfortunately. Unless someone finds a really easy way to port it over.

Well, with UE4 there is official Mac Metal support in the engine for licensees to use & we're using Metal for Mac in Fortnite...
 
  • Like
Reactions: T'hain Esh Kelch
Well, with UE4 there is official Mac Metal support in the engine for licensees to use & we're using Metal for Mac in Fortnite...
That's great to hear a huge game engine is including Metal support. It's good to see and hopefully can expand the Mac gaming market a bit and encourage others to include Metal support too.
 
Marksatt, maybe you can't answer this due any kind of NDA stuff and perferctly understand.

Are noticing improvements on the Metal comparing to OpenGL?
 
marksatt said:
See my previous; Metal isn't OpenGL - the initial Mac Metal implementation would have been a huge undertaking for Apple/vendors but updating it should be *much* easier than it was with OpenGL.

Don't know where I said that it was OpenGL. I'm ref but it's a lot easier to refer to hardware feature equivalency by referring to APIs than functions.

marksatt said:
layered rendering only works on Mac & various texture formats only work on iOS (because they don't make sense on current Mac GPUs).

That's really a different issue from what I was getting at, but I still stand by my comment that Metal is being held back by iOS and will not be feature equivalent with DX12 (or Vulkan) until mobile (handheld) GPUs catch up.
 
Last edited:
For the Feral's & Aspyr's of this world Apple will need to add features for it to be viable - they have far less room to manoeuvre around omitted features than we do.
…which – with all due respect – is a significantly larger problem than Epic being happy with Metal, since that's where the majority of noteworthy Mac games come from.
 
…which – with all due respect – is a significantly larger problem than Epic being happy with Metal, since that's where the majority of noteworthy Mac games come from.

You asked whether Metal was viable & whether it had made progress - for UE4 both can be answered in the affirmative.

I completely agree though, it is important if not essential for Metal's success and longevity that sufficient features are added to ensure that all the other companies can bring their games to Mac using Metal too.
 
Last edited:
So Mark. If you are adding Metal to UE4, that means that any dev that will use UE4 will be able to port its game to OS X without any problem?
 
Don't know where I said that it was OpenGL. I'm ref but it's a lot easier to refer to hardware feature equivalency by referring to APIs than functions.
That's really a different issue from what I was getting at, but I still stand by my comment that Metal is being held back by iOS and will not be feature equivalent with DX12 (or Vulkan) until mobile (handheld) GPUs catch up.

I was responding in more general terms to both Janichsan's & your own sentiments, in that you both doubt Metal will advance.

To respond directly: Apple aren't above implementing pragmatic feature differentiation where required - Mac Metal's memory model is quite a bit more complicated than the initial iOS version because it needs to be. Mac & iOS Metal share a common feature-set & in version 1.0 (iOS)/1.1 (Mac) its broadly the same - but they've certainly set it up so that they can differentiate where necessary as they go.

As an aside:
It is more important to me that if Apple add features they do so to achieve *functional* equivalence, rather than a box-ticking exercise in *specification* equivalence. I'm much more interested in them adding the features that (1) their Mac GPUs support and that (2) games actually do (or will soon) use. There's a grab-bag of features that DX12/Vulkan posses that don't fit one or both criteria.
[doublepost=1455918744][/doublepost]
So Mark. If you are adding Metal to UE4, that means that any dev that will use UE4 will be able to port its game to OS X without any problem?

Licensees will be able to use Mac Metal in UE4 from version 4.11 onward - its what I've been working toward since WWDC, but I would never say it will work without any problem. No matter where I've been or which game we've been working on - each & every single one has found new graphics bugs, even on the battle-hardened platforms.
 
Some interesting comments here: https://forums.developer.apple.com/thread/38469 (you may need an Apple ID to view the comments).
So one thinks that Metal is at the sweet spots in terms of performance/difficulty of use, Vulkan being incredibly complex.
Another thinks Apple must support Vulkan, or the platform will be abandoned by serious graphics developers.
 
I was responding in more general terms to both Janichsan's & your own sentiments, in that you both doubt Metal will advance.
I never doubted Metal will advance at all – I doubt it will advance in a timely and meaningful manner.
 
I never doubted Metal will advance at all – I doubt it will advance in a timely and meaningful manner.

Sorry - didn't mean to mischaracterise your statement. From my perspective not advancing meaningfully is the same as not advancing but I didn't clarify that.

Its reasonable to be disappointed that Mac Metal wasn't functionally equivalent to D3D11 straightaway, though by-and-large I understand Apple's approach. OTOH believing that Metal is destined to fail based on only two major releases is premature.

If you are right then yes, it will fail & Apple will have to think again but I wouldn't take Apple's development of OpenGL as necessarily indicative of how Metal will play out. OpenGL as an API & Apple's implementation were ready for replacement and Apple weren't alone in having painfully poor support: AMD's closed-source Linux GL driver is also notoriously bad.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.