Metal For OS X and the New AMD dGPU

Discussion in 'MacBook Pro' started by abowlby, Jun 8, 2015.

  1. abowlby macrumors member

    abowlby

    Joined:
    Oct 7, 2013
    Location:
    Eastern US
    #1
    I don't have a lot of knowledge on this topic, but I wanted to open up discussion on Metal for the Mac. Anyone have any technical insight?
     
  2. dusk007 macrumors 68040

    dusk007

    Joined:
    Dec 5, 2009
    #2
    It is just the same as Vulcan with the API of Metal.
    So like Windows which supports DirectX on all Windows 10 devices from phone to desktop. Apple got that now to. Really a good move for developers because 3d code can now by easily portable.

    It has nothing to do with the AMD GPU. They need Metal drivers for Nvidia just the same if they want El Capitan to run on older hardware.
    AMD started off this whole DirectX 12, Vulcan, Metal move but Nvidia will support them just the same.
    The nice thing for a developer is that it is not OpenGL ES on mobile and OpenGL on Mac but just one API that gets drivers on all the hardware from PowerVR to AMD, Nvidia and Intel.

    They are basically trying to imitate Windows with Windows 10 one OS policy. Whether they should have just supported Vulcan as the better idea on Macs is probably debateable. I don't know how similar the API. The speed increases come from the same places but how much they mirror Vulcan would probably be interesting.
    I am not sure it will help Mac gaming anything. It only reduces CPU overhead but GPU performance isn't really any better.
     
  3. cookies! macrumors 6502

    Joined:
    Jul 3, 2011
  4. jonobin macrumors regular

    Joined:
    Sep 3, 2014
  5. Cuniac macrumors 6502a

    Joined:
    Jan 23, 2013
    Location:
    Phoenix
    #5
    It will. The UI runs on the OPENCL/GL architecture so this big of an improvement will help it quite a bit. It will also lower the fan issues other people are complaining about as it will not tax the CPU/GPU as much in simple tasks.
     
  6. jonobin macrumors regular

    Joined:
    Sep 3, 2014
    #6
    well, that's right, I just hope they improved/rewritten even the graphics kext, that's not acceptable that a brand new rmbp lags, both the 13" and the 15"
     
  7. dusk007 macrumors 68040

    dusk007

    Joined:
    Dec 5, 2009
    #7
    It's actually vulkan, I made a mistake.
    It is what replaces OpenGL and other than Metal will be on all operating systems like Android, Linux, Unix, Windows, and supports most hardware from smartphones to high end multi gpu desktops.
    On Windows there is DirectX 11 and now after AMDs mantle they have DirectX 12 which sports the same low level access and performance benefits Vulkan and Metal bring.
    DirectX11 is like OpenGL, Vulkan is like DirectX 12
    Vulkan is very similar and in many respects a result of AMDs mantle. Apple was also among the group of corporations that are responsible for the Vulkan draft. They will at least on OSX more than likely support Vulkan.

    Basically with Metal it will be easy to port games from iOS to the Mac. You just have to make adjustments for the interface. But games that require powerful graphic cards (more than can be found in smartphones and tablets) will not likely be written in Metal any time soon I think. Those will go for OpenGL or Vulkan and DirectX 12.
     
  8. MBHockey macrumors 68040

    MBHockey

    Joined:
    Oct 4, 2003
    Location:
    New York
    #8
    With Metal's ability to reduce the strain on GPUs does anyone else think this sounds a lot like apple laying the groundwork for the removal of the dGPU in their notebooks? To me it seems this AMD card may be the last dGPU we see in an Apple notebook.
     
  9. freeskier93 macrumors 6502

    Joined:
    Jul 13, 2008
    #9
    It's possible. My prediction is the next MacBook Pro redesign will be the end of discrete graphics. We might see that this year with Skylake and Iris Pro.

    Personally I'd really like to see Apple ditch Intel in the next couple of years and go with an AMD Zen APU with HBM. It's right up their design alley and I think AMD would be a better choice for integrated graphics. AMD just needs to get in the game CPU wise, which we'll hopefully see with Zen. Being Apple is already soldering RAM to the motherboard HBM is the next logical step and will be HUGE for integrated graphics.
     
  10. Mr. Retrofire macrumors 601

    Mr. Retrofire

    Joined:
    Mar 2, 2010
    Location:
    www.emiliana.cl/en
    #10
    Intel plays also a large role (improved iGPUs) - NVIDIA and AMD too, because:
    http://www.apple.com/support/macbookpro-videoissues/
    and
    http://www.macrumors.com/2014/08/21/lawsuit-2011-macbook-pro-graphics/
    and
    https://support.apple.com/en-us/HT203254

    I lost ≈ 6000 US$ (two MBPs with defective dGPUs; one NVIDIA; one AMD), thanks to the defective dGPUs.
     
  11. MacDevMike macrumors regular

    Joined:
    Jun 13, 2012
    Location:
    Discovery Bay, Ca
    #11
    This is going to be interesting to see play out. Apple has traditionally simply exposed a generic OpenGL driver for the GPU, which offers nothing close to the level of complexity that Direct-3D offers (Direct X 11 is a suite of API's that include sound, networking, 2d, 3d, etc. The correct correlation isn't Direct X 11, but the Direct-3D API in the Direct X 11 library).

    With Metal, Apple would be offering a deeper level of access to rendering hardware that offers the ability to sub out compute to both CPU and GPU, and with Metal you will have an API that can make better decisions regarding thread management in a game loop. In addition, metal is written around OpenCL as well. So those wondering if AMD may offer an advantage, in theory the answer is yes. We all know that AMD has been working extensively with Apple on OpenCL, and thats a significant part of the Metal experience.

    There is a pretty good article regarding Metal on OS X over at ExtremeTech.

    http://www.extremetech.com/gaming/2...al-api-to-os-x-10-11-kicks-vulkan-to-the-curb

    One thing to note: The list of game developers that are working with Apple to optimize for Metal included Epic and Blizzard. I'd love to see SC2, D3 and Wow optimized for Metal and get a 40-50% boost.
     
  12. Studflower macrumors member

    Joined:
    Dec 29, 2014
    #12
    Perfect timing for Overwatch release?! I'd love that!!!
     
  13. leman macrumors 604

    Joined:
    Oct 14, 2008
    #13
    I don't understand this. Sure, Apple's OpenGL implementation does not export 1001 extensions and its also a fairly conservative 4.1 But what do you mean by 'nothing close to Direct3D'? Except you are looking for something quite exotic, they are more or less feature-equivalent.

    And BTW, the current Metal for OS X is not anywhere close to OpenGL in terms of features. For example, there are no geometry/primitive setup shaders.
     
  14. MacDevMike macrumors regular

    Joined:
    Jun 13, 2012
    Location:
    Discovery Bay, Ca
    #14
    I mean that first of all, Metal's draw call performance is 10x that of OpenGL 4.1 with much smaller compute overhead. With each draw call requiring its own state vector for shaders, textures, render targets, and states this is VERY expensive for CPU in OpenGL but is dramatically reduced in Metal. With Metal you get State Validation (encoding API state to hardware state), Shader compilation for interactions between state and shaders, and then you send work to the GPU. These three states are far more optimized in Metal, thus relieving the CPU of up to 90% of the traditional draw call overhead. This allows you to implement more draw calls, utilize the CPU for much better physics based on its work load release, etc. You also get changeable Source Buffers and changeable Source Textures.

    It also deprecates many of the older features in OpenGL based on GPU features that are no longer used. While Apple supports main stream standards like OpenGL, as a standard it has many things that aren't relevant (or optimized) for Apple.

    There is a deep dive on Metals architecture in the "Working with Metal: Overview" on Apples site. The takeaway is that Metal is Apple's own high performance graphics API with numerous advantages over traditional OpenGL standards, with all the major game houses in agreement with the performance advantages.
     
  15. leman macrumors 604

    Joined:
    Oct 14, 2008
    #15
    Oh, I agree with all of this. I was just confused by your statement that "Apple has traditionally simply exposed a generic OpenGL driver for the GPU, which offers nothing close to the level of complexity that Direct-3D offers"
     
  16. MacDevMike macrumors regular

    Joined:
    Jun 13, 2012
    Location:
    Discovery Bay, Ca
    #16
    Oh, just that the newest version of Direct-3D is doing some things similarly in the translation layer of the graphics processing loop. OpenGL and prior incarnations of DirectX had considerable bloat, and didn't offer quite the low level API access that some of todays GPU's can take advantage of. There are a number of projects out there that are trying to alleviate this. You see Mantle, Vulcan, Metal, etc. It's just an attempt at a more modern graphics API.

    The cool thing about Metal is that its Apple's own official swing at the plate. This puts native support for it in Xcode, solid documentation, and gives the game developers a solid standard with official Apple support. Metal may even be able to enable things like SLI or XFire, as they intend Metal to also assist with pro apps.

    Blizzard's S4DK1 team (thats the internal Mac World of Warcraft Team) is saying a Metal enabled Wow client will be released after El Capitan releases. So for the Mac Gaming community, I think all this is really solid news.
     
  17. Macaman macrumors member

    Joined:
    Dec 21, 2014
    #17
    "The problem with Metal is that it's only supported on iOS and now, Mac OS X. Vulkan will be truly cross-platform as it will be on Windows supported by Intel, nvidia and AMD. It will be on Android and ofc, on Linux. Apple could support it too, should they choose to.

    Developers might bother with Direct3D 12 because of the sheer market share of Windows and Xbox. But Metal? Why the hell would anybody want to target Metal? Of the two platforms it's supported on, the one with the largest market share is iOS. Metal makes sense on iOS because of that. It's Apple's attempt at vendor lock-in, at making it less interesting to port stuff to Android. But OS X? Which of the major triple A games in the last decade has ever been first on OS X? I'm sorry, I simply don't get it."

    I just read this on rededit and and totally agree. This is just stupid, we are basically going to end up with 3 different API's... Why can't every one (including Apple) just go Vulcan instead? We need a way better GPU unification here...
     
  18. leman macrumors 604

    Joined:
    Oct 14, 2008
    #18
    I have glanced over the APIs and I'd say the following:

    — there does not to seem any substantial change from the iOS 8 Metal (aside of memory usage hints)
    — the entire API seems easier than Mantle/Vulkan
    — I am concerned about the omission of geometry setup shader steps. I am ok with doing these things in compute shaders, but then I'd like to have a way to link their output with the vertex shader input. Or are we supposed to do that via indirect draw commands? That actually might work (but I'd like to see some analysis from people that have more experience with these stages than me)
    — also, I didn't find any notion of virtual textures/resources, which is an additional concern

    All in all, the Metal in its current version seems to be less feature-complete than the latest OpenGL.
     
  19. abowlby thread starter macrumors member

    abowlby

    Joined:
    Oct 7, 2013
    Location:
    Eastern US
    #19

    That bit about Metal working particularly well with OpenCL is what caught my attention. I remember a few weeks ago when people started benching the new rMBP AMD card that OpenCL was noted for being a marked improvement over the 750M in the prior model. I was curious about there being (potentially) a correlation between the two events (Metal/moving to AMD graphics). Surely it isn't coincidence.

    Also, thank you to everyone for sharing this information, it's always great to know more about my Mac.
     
  20. MacDevMike macrumors regular

    Joined:
    Jun 13, 2012
    Location:
    Discovery Bay, Ca
    #20
    I haven't looked at Mantle and Vulkan much. One of the big advantages of Apple having its own low level high performance graphics API is simply its native support in Xcode. At the end of the day, I want the IDE to support the API and offer performance strategies. Make my life easier.

    Apple is legendary for being horrible with their OpenGL revision and implementation support. Metal doesn't eliminate/deprecate OpenGL, so they still need to be much better with their OpenGL support.
     

Share This Page