No Metal for Yosemite?

Discussion in 'OS X Yosemite (10.10)' started by Jyby, Jun 2, 2014.

  1. Jyby macrumors 6502

    Joined:
    May 31, 2011
    #1
    I wonder why apple chose not to include Metal (the OpenGL enhancement for iOS in Yosemite).

    I thinking gaming on the mac welcomes such a boost in performance.
     
  2. Cougarcat macrumors 604

    Joined:
    Sep 19, 2003
  3. Jyby thread starter macrumors 6502

    Joined:
    May 31, 2011
  4. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #4
    Because Mac's don't have an A7 processor probably. It seems closely linked to the bare metal (processor core).
     
  5. Mr. Retrofire macrumors 601

    Mr. Retrofire

    Joined:
    Mar 2, 2010
    Location:
    www.emiliana.cl/en
    #5
    "Metal" requires also new APIs, which means that all OpenGL apps are incompatible with "Metal". "Metal" removes the OpenGL overhead.
     
  6. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #6
    Because Metal is specific to the design of Apple's chips. Macs have Intel, AMD, or Nvidia graphics chips.
     
  7. Jyby thread starter macrumors 6502

    Joined:
    May 31, 2011
    #7
    This makes more sense. I don't think it has much to do with the chips.

    But you have a point. I think it would still have been in Apples favor to get the ball rolling sooner than later. Like they did with multithreading back in early WoW days.
     
  8. leman macrumors 604

    Joined:
    Oct 14, 2008
    #8
    Have you actually looked at the APIs or are you just 'assuming'? From what I see, Metal is very similar to OpenGL with bindless restrictions + some DX11 stuff. It also seems more restricted. No reason why this should not run on OS X, and porting from OpenGL seems fairly straightforward. But not everything can be ported. I found no mention of multiple shader stages which are present in OpenGL...
     
  9. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #9
    I know for sure. (As in that is not a guess.) And it's also not just my opinion.

    Metal removes many of the things required to adapt to different types of GPUs in favor of just assuming an A7 GPU.

    It's possible those sorts of things could be added back into Metal in a future release, but likely not. Metal's compute language, for example, is pretty much OpenCL with compatibility for different GPUs removed. So if you want Metal for Mac, you've pretty much already got it in OpenCL.
     
  10. Julien macrumors G3

    Julien

    Joined:
    Jun 30, 2007
    Location:
    Atlanta
    #10
    ....and Intel has Direct X for Intel. ;) Probably hear about it in 10.11 next year.
     
  11. dmccloud macrumors 6502a

    dmccloud

    Joined:
    Sep 7, 2009
    Location:
    Anchorage, AK
    #11
    It actually does have to do with the chips. Since Metal basically replaces the existing OpenGL layer, the GPU manufacturers have to rewrite things for their parts. Apple can do it for iOS devices (since they make their own chips), but Intel, AMD, and nVidia would have to rewrite drivers for their GPUs. Also, game developers will need to rewrite for Metal as well. Apple can do a lot more on the iOS side in terms of making the transition easy than it can on the Mac side of things.
     
  12. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #12
    The bigger issue is the design of metal is directly linked to the design of the chips. It's not a high level API like DirectX or OpenGL. That's the whole point. It lets developers wring out every bit of speed possible by working as close to the A7 as possible.

    The basic problem is writing directly for an A7 is not the same as writing for an NVidia GPU or an AMD GPU.

    There is an API that makes speed trade offs in favor of writing for any kind of GPU. That's OpenGL.
     
  13. leman macrumors 604

    Joined:
    Oct 14, 2008
    #13
    Can you provide some examples? Because I really can't see anything A7-Specific in Metal. For me it looks like a generic low-overhead graphics API.

    How is the compatibility for different GPUs removed?
     
  14. Porsupah macrumors member

    Porsupah

    Joined:
    Oct 18, 2013
    Location:
    Probably near London or San Francisco
    #14
    It's true, of course, that Apple does a fair bit of design work in putting the A7 (et al) together, but the GPU isn't their own creation - that comes from PowerVR, thus far. In the A7's case, I believe it's the PowerVR G6430 core they're using.
     
  15. haravikk macrumors 65816

    Joined:
    May 1, 2005
    #15
    Why? Macs still have much better graphics processors and more CPU headroom for OpenGL overhead.

    The benefits for iOS devices is definitely more pronounced due to the limitations of their hardware, but also because of its consistency; Macs meanwhile have GPUs with a wide variety of different capabilities, including bad Intel GPUs, the more recent, much better, ones, NVIdia GPUs, AMD GPUs and so-on. Developing Metal for a single GPU platform is definitely going to have been much easier. They could always expand it later I suppose, but personally I don't think Metal, like Mantle, will actually last; IMO they're both intermediate APIs that should spur DirectX and OpenGL into making the same improvements to reduce overhead and let the GPU do more, I just hope Apple will work harder to keep OpenGL at the cutting edge on OS X.
     
  16. Cougarcat macrumors 604

    Joined:
    Sep 19, 2003
    #16
    Because the performance gap between windows and Mac gaming is still significant, unfortunately. Also, from a purely self-centered point of view, OS X is where I do most of my gaming, so that's where I want to see speed improvements.

    Macs may have better graphics processors, but the games are also much more demanding, and Apple loves to put weak graphics in their Macs. Any attention given to graphics performance on OS X would be much welcome, especially now during the slow transition to all-Retina.
     
  17. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #17
    The pipeline is basically designed around the A7. It's also not designed to work with dedicated VRAM (there is no support for copying things to VRAM.) That's one reason it's so fast (it can skip the copy step), but that also means, at the very least it'll never work with discrete cards.

    Apple could add those things back in, but it would negate the speed gains of Metal. At that point, you might as well use OpenGL or OpenCL.
     
  18. boast macrumors 65816

    boast

    Joined:
    Nov 12, 2007
    Location:
    Phoenix
    #18
    Or maybe nvidia making nvapi available for OSX.

    Super duper speed talking directly to the drivers, not all these wrappers ;)
     
  19. haravikk macrumors 65816

    Joined:
    May 1, 2005
    #19
    Apple haven't really shown much interest in positioning Macs for gaming though; they're happy to point to better performance when they can, but it's never been much of a priority, but for iOS gaming is a very big part of it.

    Don't get me wrong, I'd love to see Macs actually compete on a level playing field vs rebooting into Windows or whatever, I just don't see Metal playing a part in it; it would take a lot more effort to port it for all the various configurations of Macs (or specifically, their GPUs), whereas OpenGL is likely going to do Apple's work for them on that front. Metal makes sense for iOS for now as it will give Apple another advantage over competing products, whereas if OS X did support Metal then it would most likely only bring them level with Windows.

    Of course we're stuck hoping that OpenGL will get better, which has been an infuriating experience for the past decade as the API gets messier and messier while playing catch up to DirectX. I still hope they'll get their act together and do something major, and maybe technologies like Mantle and Metal will encourage that to happen at last.

    Anyway, I just think that Metal isn't a long-term thing; it's a stepping stone until other technologies are ready to take over, as I doubt Apple really wants to be maintaining their own graphics API long-term.
     
  20. Cougarcat macrumors 604

    Joined:
    Sep 19, 2003
    #20
    Oh believe me, I know. They couldn't care less. I understand completely why Metal is iOS-only, but as a frustrated Mac gamer I remain...frustrated. :)
     
  21. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #21
    Metal wouldn't do anything for Mac gaming anyway in since games on Mac are discrete card oriented. :)

    I don't think the read of "Apple didn't port it to Mac because Apple doesn't care about Mac gaming" is right at all. I think Apple would like to see it on the Mac. After all, if Metal could make things faster, that would be great for pro apps like Final Cut.

    The reality is that Metal in it's current form doesn't make any technical sense on the Mac.
     
  22. leman macrumors 604

    Joined:
    Oct 14, 2008
    #22
    The Metal pipeline:

    https://developer.apple.com/library...x.html#//apple_ref/doc/uid/TP40014221-CH7-SW1

    The OpenGL pipeline: http://www.opengl.org/wiki/Rendering_Pipeline_Overview

    As far as I can see, they are basically identical except metal lacking tesselation/geometry stages.


    I don't see how this is even remotely true. The MTLBuffer in Metal is basically the same thing as the OpenGL buffers, only with less bloat. It represents a region of GPU memory which can be mapped to the CPU memory by the driver. The only difference is that OpenGL has explicit buffer locking semantics (with glMapBuffer /glUnmapBuffer) while Metal's locking is implicit. On the other hand, Metal does not need explicit locking because the CPU/GPU synchronisation is clearly defined, see last section of the docs: https://developer.apple.com/library...j.html#//apple_ref/doc/uid/TP40014221-CH4-SW1

    Also note that Metal is obviously designed with support for multiple graphical devices in mind.
     

Share This Page