Inside Metal: How Apple plans to unlock the secret graphics performance of the A7 chip

1235»

Comments

  • Reply 81 of 94

    That is so great piece!

     

    I almost feel convinced that Apple in deed needed those 64bits on CPU side, to get that Metal thing right!

     

    Bigger data structures, bigger power draw (cause now 2x data need to be sent simultaneously for same perceived speed) for moving data to and from CPU,  etc. etc. etc. all where rightful costs for benefits those additional 32 bits brought.

     

    I just get that fuzzy feeling, that I was not able to grasp why its so important for Metal & GPU performance. But of course it must be my poor reading skills. You had to explain it well if You repeat "64-bit" 6 times in that article, and You even ridicule competition.

  • Reply 82 of 94

    http://www.slideshare.net/Khronos_Group/khronos-open-glesgdcmar14

     

    When we compare OpenGL ES 3.1 and Metal*, only rants about CPU overhead are valid (and only to some extend).

     

    *(Cause both expose similar GPU features, and both are/will be released in same time frame)

     

    OpenGL ES3.1 brings compute shaders to the table (which would alleviate  need for OpenCL to great extend).

    OpenGL ES3.1 brings indirect drawing (this avoids unnecessary state changes, and now many draws sharing one state can be bundled into singe)

    OpenGL ES3.1 bring image load/store (conceptualy equal to texture from Metal SL)

    OpenGL ES3.1 bring separate shader objects (remove much of shader linkage - library creation in Metal SL - costs) Pipeline Objects build on top of that too.

     

    On top of that current penetration of OpenGL ES 3.0 is roughly equal to A7 deployment... With OpenGL ES 3.1 requiring little to no new HW, so it should be available on most of those GPUs (driver updates needed ofc.).

     

    Of course Apple solve few more things:

    1) Caching of shaders up to the asm. That is very, very, hard to beat. Ofc. Apple did not went for stright ASM (after all, such shaders would be then useless on A8 or whatever we call next iteration of Apple GPU)

    2) Explicit multithreading. (As opposed to "make it so cheap that it can be done on single core with single push" that is visible in OpenGL ES 3.1, and is basic principle behind AZDO)

    3) QA. QA. QA. QA. QA. QA. And again QA. (And to some extend "who cares if we break specs? Lets update specs!")

     

    So I can see why Metal will be "better", but really, we/You should stop trumpeting it as something competition-less. :D

     

    OpenGL ES is still in game.

     

    (Eg Google could:

    1) Provide custom precompiler for shaders, similar to how DX now works for Win on NV/AMD/Intel/Qualcom/etc.

    2) Add support for more memory management extensions from AZDO, so that apps can split content creation onto multiple threads if they like

    3) Adding OpenGL ES 3.1 conformance suite to Android certification process.

     

    In fact such outcome is guaranteed. Apple positioned itself as "premium GPU perf". Google must replay in kind!

     

    Us users (and us game dev, and us 3d/symulation/multimedia producers) benefit.

     

    * No Apple could not extend OpenGL to Metal meta-algorithm. Its Mantle/DX/Metal many-cores-many-workloads vs single-core-single-call-to-draw-everything.  Do not really care for which one will win in the end. Its good that people started on talking about 100% at last.

  • Reply 83 of 94
    nikon133nikon133 Posts: 2,600member
    auxio wrote: »
    You're forgetting the Xbox One in all of this.  The preferred platform for the type of gamers who would need the type of 3D rendering performance Metal enables is still consoles.  As much as people here talk about it, AppleTV still isn't a console (yet).  So DirectX 12 is relevant even if Windows Phones aren't.

    That said, Metal does set things up nicely if/when the AppleTV can facilitate the type of gameplay consoles currently provide (either with more powerful devices, or with the AppleTV rendering the games itself).

    To my knowledge, consoles are already enjoying low level APIs in their development tools, not only current generation but also previous gens. That's why Phil Spencer (Xbox boss) already stated that Xbox owners should not expect much from DX12 on XBO - there will be some improvements but nothing earth shattering, because consoles are basically already there. PC gaming is the one to benefit from DX12 most, and considering that gaming on Windows PC was/is one of holly grails of Windows popularity, it's about time MS stops treating this platform as an orphan.

    If DX12 turns out as promised - IF - it will not only improve performance on gaming PCs (where, so far, you usually need more raw power to get same results as you have on consoles) but also low (performance) level machines - Atom based x86 tablets, ultrabooks... quite important if MS is hoping to make Windows more mainstream in tablets field.
  • Reply 84 of 94
    desuserigndesuserign Posts: 1,316member

    I enjoyed the article Dan.

    When the section of the keynote on Metal was presented, my ears perked up and I figured there was more to it than meets  the eye. I wondered what the implications might be. Your examination helped me to see how all the parts of Apple's approach fit together.

    Thanks.

  • Reply 85 of 94
    technarchytechnarchy Posts: 296member
    Quote:

    Originally Posted by Suddenly Newton View Post





    Did OpenGL stop working in iOS 8? Or are you just climbing a hill called "it's only bad when Apple does it"? Console makers have offered coding directly-to-hardware for years. Oh but it's not bad when Sony does it, only when Apple does.

     

    Famously, remember the Sega Saturn and Sega Dreamcast.

     

    The Saturn was the kinda the first dual core console on the market, running two Hitachi SH-2 processors plus dual GPU's. Sega had to write a whole series of proprietary tools to interface directly to the hardware to get the most performance from the system. The coders at the time had no idea how to get the most out of the hardware and it showed in the games. 

     

    For the Dreamcast it featured the option to use the same libraries used in Windows CE. That was quickly dumped too because it wasted cycles and reduced performance. Once again Sega introduced libraries to interface directly with the hardware.

     

    It makes sense on many levels. 

  • Reply 86 of 94
    relicrelic Posts: 4,735member
    Quote:
    Originally Posted by Technarchy View Post

     

     

    Famously, remember the Sega Saturn and Sega Dreamcast.

     

    The Saturn was the kinda the first dual core console on the market, running two Hitachi SH-2 processors plus dual GPU's. Sega had to write a whole series of proprietary tools to interface directly to the hardware to get the most performance from the system. The coders at the time had no idea how to get the most out of the hardware and it showed in the games. 

     

    For the Dreamcast it featured the option to use the same libraries used in Windows CE. That was quickly dumped too because it wasted cycles and reduced performance. Once again Sega introduced libraries to interface directly with the hardware.

     

    It makes sense on many levels. 




    Big gamer are you. That's interesting though not surprising as it's now a common practice with consoles. We are now even seeing game developers utilizing the full power of the Nvidia Tegra chips, Stream for instance just released  Half Life 2 and Doom 3 exclusively for this chipset do to the level of optimization that was achieved using low level libraries.. Not sure how many gaming developers will take advantage of Metal though, we'll defiantly see it being used in graphic intensive  iOS only games but I'm not so sure about the crossed platform ones.

  • Reply 87 of 94
    furyfury Posts: 1member
    I hate to be that guy, but I'm gonna have to be that guy, because this is another one of those things where an underinformed Internet gets a little carried away. Reducing the overhead of abstract graphics libraries does not necessarily make for a constant 10x increase in performance as this article states. Our iPhones will not magically be able to play Crysis or compete with a GTX Titan with one 10th as many shaders. It just means inefficient programs held back by the overhead of OpenGL will now have an option for skipping a real optimization process and just writing directly to the hardware. We'll jump 16 years straight into the past where half of the games are optimized for one API and work on one company's devices, and half of them run on all other devices - 3dfx glide vs. OpenGL all over again.

    Don't get me wrong. I'm as much a fan as the next guy of getting better and better 3d graphics out of these things that I can hold on the palm of my hand. It boggles the mind. But it's not going to be a huge boost across the board. It's not going to unlock vast amounts of power not already available as this article makes it seem. Games that get the best performance increase out of it were probably doing OpenGL badly in the first place, so it's on the programmer and not the platform.

    I'm more excited at what WebGL on iOS 8 means for web games.
  • Reply 88 of 94
    MarvinMarvin Posts: 15,310moderator
    fury wrote: »
    We'll jump 16 years straight into the past where half of the games are optimized for one API and work on one company's devices, and half of them run on all other devices - 3dfx glide vs. OpenGL all over again.

    This happens in a number of places, there's a recent dispute between AMD and NVidia over vendor specific game optimization:

    http://www.forbes.com/sites/jasonevangelho/2014/05/28/nvidia-fires-back-the-truth-about-gameworks-amd-optimization-and-watch-dogs/

    When it comes to things like Metal, a single developer is targeting hundreds of millions of users so it's not like they are fragmenting the gaming audience much. If Android misses out on the optimization, that's because their hardware is too diverse but it won't stop them getting the game, it just won't have the same level of effects, which is the case just now anyway.
    fury wrote: »
    It's not going to unlock vast amounts of power not already available as this article makes it seem.

    For certain games, it will allow them to do effects they couldn't do previously like Crytek showed:


    [VIDEO]


    The iOS devices have enough raw power to rival last-gen consoles and Metal just gives them the same hardware-specific advantages the consoles have had. Developers should be able to port more complex games over from the last-gen consoles more easily. I could see a game like GTA IV getting ported over to iOS.
    fury wrote: »
    I'm more excited at what WebGL on iOS 8 means for web games.

    Delivering games via the web isn't a good idea. There's too much data to cache. They can stream some of it in but they have to do it every time. Modern AAA games take up over 20GB of space. Are you going to sit and wait for 1GB of data downloads before every level starts up? WebGL is fine for things like Candy Crush Saga but not for larger games and the reason apps took off is because people don't like using a browser for something they go to directly. Apps can save game position without requiring logins.
  • Reply 89 of 94
    relicrelic Posts: 4,735member
    Marvin wrote: »
    This happens in a number of places, there's a recent dispute between AMD and NVidia over vendor specific game optimization:

    http://www.forbes.com/sites/jasonevangelho/2014/05/28/nvidia-fires-back-the-truth-about-gameworks-amd-optimization-and-watch-dogs/

    When it comes to things like Metal, a single developer is targeting hundreds of millions of users so it's not like they are fragmenting the gaming audience much. If Android misses out on the optimization, that's because their hardware is too diverse but it won't stop them getting the game, it just won't have the same level of effects, which is the case just now anyway.
    For certain games, it will allow them to do effects they couldn't do previously like Crytek showed:


    The iOS devices have enough raw power to rival last-gen consoles and Metal just gives them the same hardware-specific advantages the consoles have had. Developers should be able to port more complex games over from the last-gen consoles more easily. I could see a game like GTA IV getting ported over to iOS.
    Delivering games via the web isn't a good idea. There's too much data to cache. They can stream some of it in but they have to do it every time. Modern AAA games take up over 20GB of space. Are you going to sit and wait for 1GB of data downloads before every level starts up? WebGL is fine for things like Candy Crush Saga but not for larger games and the reason apps took off is because people don't like using a browser for something they go to directly. Apps can save game position without requiring logins.

    I hope Apple game developers will start utilizing full 1080P out through the HDMI dangle. It would actually be pretty great to turn the iPad into a portable console. It's pretty cool to see my son using his little EVGA Note connected via the build in HDMI port playing games like Modern Combat 4 with a Bluetooth game controller.
  • Reply 90 of 94
    capasicumcapasicum Posts: 92member
    Quote:

    Originally Posted by fury View Post



    ... Reducing the overhead of abstract graphics libraries does not necessarily make for a constant 10x increase in performance as this article states. Our iPhones will not magically be able to play Crysis or compete with a GTX Titan with one 10th as many shaders. It just means inefficient programs held back by the overhead of OpenGL will now have an option for skipping a real optimization process and just writing directly to the hardware. We'll jump 16 years straight into the past where half of the games are optimized for one API and work on one company's devices, and half of them run on all other devices - 3dfx glide vs. OpenGL all over again.

     

    The increased number of draw calls will not increase the performance per se. But it will allow developers to use 10 times more render configurations, i.e. 10 times more shader programs, targeting specific details/effects in the scene. So, the shaders will become more specific, targeted, smaller, faster, shaders. That is in contrast to the huge almost general-purpose shaders used nowadays due to the small number of draw calls that can be issued. So, there will be an increase in the number of effects applied to the scene (effects in a more general sense, shadows are also an effect in 3D graphics).

     

    What we will get is more fluid, detail-rich scenes, a bit higher frame rates and a relatively low power consumption.

  • Reply 91 of 94
    crowleycrowley Posts: 10,453member
    Quote:

    Originally Posted by Marvin View Post



    For certain games, it will allow them to do effects they couldn't do previously like Crytek showed:






     

    Pretty, but game-wise it looks like a less fun Cannon Fodder.

  • Reply 92 of 94
    MarvinMarvin Posts: 15,310moderator
    crowley wrote: »
    Pretty, but game-wise it looks like a less fun Cannon Fodder.

    The problem is too many developers are struggling to stay afloat so they are trying to use mobile to make a good return on investment. I think all the studios want the one-hit wonders like Angry Birds and Candy Crush. Crytek who makes the above game is having some financial problems:

    http://www.eurogamer.net/articles/2014-06-23-crysis-developer-crytek-claims-bankrupt-report-is-false
    http://arstechnica.com/gaming/2014/07/report-crytek-uk-staff-not-getting-paid-leave-studio-en-masse/

    Candy Crush made about 6x EA's entire net income in 2013. Their net income exceeds a lot of the biggest games developers combined:

    Candy Crush = $567m
    EA = $98m
    Ubisoft = $13m (normally ~$100m)
    Nintendo = $71m
    Take Two (GTA, Borderlands, Bioshock etc) = $48m
    Square Enix (Tomb Raider, Thief, Hitman) = $65m

    They have more revenue than Candy Crush but high-end games cost so much to make that their profits are a fraction of it. R&D and marketing take off about 80% of EA's gross profit. Each new game, they invest in new engines and features:


    [VIDEO]


    It's all people time - EA and Ubisoft have over 9000 employees. The Candy Crush company has over 600. It's depressing to see how much money they make for producing a single time-wasting addictive game and all these big publishers are making works of art and making a fraction of the profit with multiple franchises.


    [VIDEO]


    vs


    [VIDEO]
  • Reply 93 of 94
    benjamin frostbenjamin frost Posts: 7,203member
    Marvin wrote: »
    crowley wrote: »
    Pretty, but game-wise it looks like a less fun Cannon Fodder.

    The problem is too many developers are struggling to stay afloat so they are trying to use mobile to make a good return on investment. I think all the studios want the one-hit wonders like Angry Birds and Candy Crush. Crytek who makes the above game is having some financial problems:

    http://www.eurogamer.net/articles/2014-06-23-crysis-developer-crytek-claims-bankrupt-report-is-false
    http://arstechnica.com/gaming/2014/07/report-crytek-uk-staff-not-getting-paid-leave-studio-en-masse/

    Candy Crush made about 6x EA's entire net income in 2013. Their net income exceeds a lot of the biggest games developers combined:

    Candy Crush = $567m
    EA = $98m
    Ubisoft = $13m (normally ~$100m)
    Nintendo = $71m
    Take Two (GTA, Borderlands, Bioshock etc) = $48m
    Square Enix (Tomb Raider, Thief, Hitman) = $65m

    They have more revenue than Candy Crush but high-end games cost so much to make that their profits are a fraction of it. R&D and marketing take off about 80% of EA's gross profit. Each new game, they invest in new engines and features:


    [VIDEO]


    It's all people time - EA and Ubisoft have over 9000 employees. The Candy Crush company has over 600. It's depressing to see how much money they make for producing a single time-wasting addictive game and all these big publishers are making works of art and making a fraction of the profit with multiple franchises.


    [VIDEO]


    vs


    [VIDEO]

    What you are lamenting is an exact replica of music.

    'Popular' music (noise) makes a fortune, whilst inspired miraculous art makes nothing.

    'Twas ever thus.
  • Reply 94 of 94
    crowleycrowley Posts: 10,453member

    Not sure I'd draw a parallel between "inspired, miraculous art" and FIFA 14, the latest in a franchise that has so often been lazy, repetitive and reliant on licensing and brand affiliation for sales.

     

    But a good point, nevertheless ;)

     

    The same could be said for movies, TV, even books and newspapers.

Sign In or Register to comment.