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

245

Comments

  • Reply 21 of 94
    techguy911techguy911 Posts: 269member

    Sounds like OpenGL is in bad need of an update.  The idea of an open standard that works across devices and video chips is great, but like many standards, it lags behind the cutting edge.  Khronos Group needs to get off its a** and write a new spec that can compete.  Don't get lazy and let it languish like many other standards have.

  • Reply 22 of 94
    stuffestuffe Posts: 392member
    Quote:

    Originally Posted by techguy911 View Post

     

    Sounds like OpenGL is in bad need of an update.  The idea of an open standard that works across devices and video chips is great, but like many standards, it lags behind the cutting edge.  Khronos Group needs to get off its a** and write a new spec that can compete.  Don't get lazy and let it languish like many other standards have.


    I guess we know why Apple never made it to OpenGL 4.x, they've been working on bypassing it instead in an attempt to leapfrog it, rather than just play catchup to the latest minor and infrequent updates.  Good for Apple, bad for anyone else who uses OpenGL if other start to do the same thing (i.e. DX on Winphone).  Mobile gave OpenGL a lifeline, they appear to have squandered it by being incredibly slow to react and take advantage.  Great as Metal is, if OpenGL had done something similar for everyone, we'd be in a better place for *games players*, at the expense of any 1 individual company gaining an advantage for a subset of gamers.

  • Reply 23 of 94
    ecsecs Posts: 307member
    Quote:

    Originally Posted by stuffe View Post

     

    […] Good for Apple, bad for anyone else who uses OpenGL if other start to do the same thing (i.e. DX on Winphone).  […]


    Nope. Abandoning standards is bad for end users, because less app developers are going to do an effort in releasing an app for several platforms if each platform needs a custom API and/or a major rewrite.

     

    This is exactly the war that both Google and Apple are trying to win: divide the developers so that they can no longer maintain several platforms with little cost. Turn it expensive to maintain several platforms simultaneously. And try to convince developers to write apps for your platform instead of the competitors.

     

    That's the game they're playing. I'm not joining that game. I rather prefer to continue developing with standards and write backends for the platforms that are playing this war.

     

    As I said, all (and I mean all) of the supposedly advantages of Metal over OpenGL could have been done exactly the same (or even better) on a custom implementation of OpenGL highly optimized for new Apple hardware. They chose to do it with a new proprietary API exactly the same reason why Google dropped OpenCL on their devices (make it hard to develop for several platforms, and move as many developers as possible towards your platform)

  • Reply 24 of 94
    stuffestuffe Posts: 392member
    Quote:

    Originally Posted by AJMonline View Post





    As I have said before, do I believe they have A-series MacBooks in the Labs, definitely. Do I believe they will release them. Unlikely. X86 compatibility is a major requirement for business purchases and a large number of switchers. WindowsRT would have to be widely accepted, Mac will have to approach 50%market share, or all legacy. Business app will have to be converted to web apps for this switch to make sense to Apple. I just do not see either of these happening anytime in the near future

     I've long expected the use of ARM chips as co-processors to the main Intel chip, being used with custom capabilities to essentially hardware accelerate APIs and frameworks such as Core Data, etc etc.  Imagine if this pre-execution compilation could be done *on chip* and we saw the same sorts of gains as we have seen for video encryption and decryption?  There's no reason why not, and the fact that you would be mixing and matching CPU architecture platforms would be irrelevant because you won't be issuing execution code to run on it from a user perspective, just using them as hardware API engines, as if they were just incredible fast PCI expansion cards like we used to have on some PCs.

  • Reply 25 of 94
    auxioauxio Posts: 2,399member
    Quote:
    Originally Posted by freediverx View Post

     

    Microsoft is promising to support DirectX 12 on their own Windows Phone and I wouldn't consider that "commodity phone." The main limitation with Windows Phone is not lack of technical sophistication but rather its tiny user base and native app selection due to its late entry in the market. And then of course there's a big difference between promising to deliver DirectX 12 on mobile and actually doing it, especially from a company with a long history of vaporware.


     

    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).

  • Reply 26 of 94
    maccherrymaccherry Posts: 924member
    You read that all you die hard, core hungry, HTC tricked out by being overclocked to 5 ghz geeks see.
    It ain't about speed.
  • Reply 27 of 94
    stuffestuffe Posts: 392member
    Quote:

    Originally Posted by ecs View Post





    Last year we were told at the WWDC that we _should_ be using OpenCL. Now we're told the future is called Metal. 

     

    I don't think you know what OpenCL is, if you are comparing it to Metal as an either/or thing.

  • Reply 28 of 94
    stuffestuffe Posts: 392member
    Quote:
    Originally Posted by ecs View Post

     

    Nope. Abandoning standards is bad for end users, because less app developers are going to do an effort in releasing an app for several platforms if each platform needs a custom API and/or a major rewrite.

     

     


     

    That's exactly what I went on to say "Great as Metal is, if OpenGL had done something similar for everyone, we'd be in a better place for *games players*, at the expense of any 1 individual company gaining an advantage for a subset of gamers.".  You need to reply to what I say, not what you assume I say from the first sentence... ;)

  • Reply 29 of 94
    stuffestuffe Posts: 392member
    Quote:

    Originally Posted by auxio View Post

     

     

    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).


     

    Not that simple.  Faster also begets more efficient, more efficient means getting the same performance at a lower energy cost, ergo Metal could pump up the pixels, or it could give you more battery life with no loss of existing performance.  

  • Reply 30 of 94
    auxioauxio Posts: 2,399member
    Quote:
    Originally Posted by ecs View Post

     

    As I said, all (and I mean all) of the supposedly advantages of Metal over OpenGL could have been done exactly the same (or even better) on a custom implementation of OpenGL highly optimized for new Apple hardware. They chose to do it with a new proprietary API exactly the same reason why Google dropped OpenCL on their devices (make it hard to develop for several platforms, and move as many developers as possible towards your platform)


     

    I agree.  And if I were 10 years younger I'd be very adamant in that position as well.  However, viewing things from the perspective of how much it costs to design and develop new technology, why should they invest a whole bunch of their R&D resources into polishing OpenGL, just so that Samsung can come along and get all of the benefit of that work without spending a dime?

     

    Personally, I think that Apple should continue making their technologies open standards (like they've done with Clang/LLVM), but make it so that you need to license from them if you're using their technologies for commercial purposes on platforms other than their own (similar to Qt).  And I mean the platform creators would pay for that licensing, not the individual game creators.

  • Reply 31 of 94
    MarvinMarvin Posts: 14,621moderator
    stuffe wrote: »
    I guess we know why Apple never made it to OpenGL 4.x, they've been working on bypassing it instead in an attempt to leapfrog it, rather than just play catchup to the latest minor and infrequent updates.

    They added OpenGL 4 support to OS 10.9.

    OpenGL can't be replaced by hardware-specific APIs but it helps developers who target priority platforms get the best performance. OpenGL can run on a CPU as well as a GPU.

    Metal seems to be like AMD's Mantle, which has similar improvements (~10x) in draw calls:

    http://www.anandtech.com/show/7371/understanding-amds-mantle-a-lowlevel-graphics-api-for-gcn

    "Of all of those performance issues the principle issue at hand is the matter of draw calls, which are the individual calls sent to the GPU to get objects rendered. A single frame can be composed of many draw calls, upwards of a hundred or more, and every one of those draw calls takes time to set up and submit.

    Although the issue will receive renewed focus today with the announcement of Mantle, we have known for some time now that groups of developers on both the hardware and software side of game development have been dissatisfied with draw call performance. Microsoft and the rest of the Direct3D partners addressed this issue once with Direct3D 10, which significantly cut down on some forms of overhead.

    But the issue was never entirely mitigated, and to this day the number of draw calls high-end GPUs can process is far greater than the number of draw calls high-end CPUs can submit in most instances. The interim solution has been to attempt to use as few draw calls as possible – GPU utilization takes a hit if the draw calls are too small – but there comes a point where a few large draw calls aren’t enough, and where the CPU penalty from generating more draw calls becomes notably expensive."

    It just stops the CPU bottlenecking the GPU with lots of objects on screen. In the Metal demo, they were showing lots of object instances being drawn and lots of simultaneous physics calculations.

    For existing games, it doesn't always mean much of a speedup, not 10x. Battlefield 4 with Mantle doesn't improve much:

    http://www.extremetech.com/gaming/175881-amd-mantle-benchmarked-the-biggest-innovation-in-gaming-since-directx-9/3

    However, a real-time strategy game with lots of objects improves quite a bit:

    http://www.extremetech.com/gaming/175881-amd-mantle-benchmarked-the-biggest-innovation-in-gaming-since-directx-9/2

    This would mean that a game like StarCraft 2 being OpenGL can be ported to the iPad but use Metal to optimize the performance.
  • Reply 32 of 94
    auxioauxio Posts: 2,399member
    Quote:

    Originally Posted by stuffe View Post

     

    Not that simple.  Faster also begets more efficient, more efficient means getting the same performance at a lower energy cost, ergo Metal could pump up the pixels, or it could give you more battery life with no loss of existing performance.  


     

    I understand the point of Metal.  However, my point is that people who are really into 3D games still prefer consoles because you can have a more immersive experience (large screen, surround sound, better graphics, etc).  For Apple to win over that market (which is the target for Metal), they need to provide the same experience: either by allowing the iPad to deliver it to the TV/stereo, or by having the AppleTV itself do it.

  • Reply 33 of 94
    ahmlcoahmlco Posts: 432member
    Quote:

    Originally Posted by auxio View Post

     

     

    ...However, my point is that people who are really into 3D games still prefer consoles because you can have a more immersive experience (large screen, surround sound, better graphics, etc).  ...


     

    I'm sure that people who are sitting in front of consoles prefer consoles. That said, you're not always sitting in front of an 80" screen, are you?

  • Reply 34 of 94
    auxioauxio Posts: 2,399member
    Quote:

    Originally Posted by ahmlco View Post

     

     

    I'm sure that people who are sitting in front of consoles prefer consoles. That said, you're not always sitting in front of an 80" screen, are you?


     

    Right.  But then, most people aren't playing Call of Duty on iPads either.  Metal is designed for to benefit a specific type of game.

  • Reply 35 of 94
    flaneurflaneur Posts: 4,526member
    ahmlco wrote: »
    I'm sure that people who are sitting in front of consoles prefer consoles. That said, you're not always sitting in front of an 80" screen, are you?

    I'm assuming you'll soon be wearing left and right 80" (virtual) screens on your face. Then all bets about content are off.
  • Reply 36 of 94
    Not sure how why the author thinks that people can't code for Metal plus other systems at the same time - mentioned Unity as a prime example of people wanting to target multiple systems without getting the benefits of Metal. It's pretty well known that Unity will officially support Metal. Unity made games will look amazing on metal compatible ios products.
  • Reply 37 of 94
    Dan_DilgerDan_Dilger Posts: 1,583member
    Not sure how why the author thinks that people can't code for Metal plus other systems at the same time - mentioned Unity as a prime example of people wanting to target multiple systems without getting the benefits of Metal. It's pretty well known that Unity will officially support Metal. Unity made games will look amazing on metal compatible ios products.

    The article directly addresses the option for developers to continue targeting cross platform deployment while also taking advantage of Metal to improve performance on A7 devices.
  • Reply 38 of 94
    The article directly addresses the option for developers to continue targeting cross platform deployment while also taking advantage of Metal to improve performance on A7 devices.

    Actually, this is what the article says:

    "Who's going to listen to Metal?


    There's no need to worry that the gaming industry is going to abandon OpenGL for Metal. Many large games developers often do try to reach the largest audiences with their apps, something that ostensibly precludes them from adopting Apple-specific technologies, including Swift or Metal. Most of these will certainly continue to use OpenGL along with similarly platform-agnostic gaming frameworks (like Unity) that allow them to target both iOS and Android (as well as the current majority of iOS devices that lack an A7-class chip).

    However, for developers who want to stand out in the App Store, Metal promises a dramatic, order-of-magnitude improvement in performance, delivering frame rates, creature swarms and new levels of gaming sophistication that would be impossible without the specialized Metal framework even on the A7, let alone the grab bag of low end, "good enough" GPUs present on the majority of Android phones."

    In other words, the author doesn't realize that Unity is a primary example or how Metal is supposed to be used.
  • Reply 39 of 94
    Dan_DilgerDan_Dilger Posts: 1,583member
    ecs wrote: »
    Nope. Abandoning standards is bad for end users, because less app developers are going to do an effort in releasing an app for several platforms if each platform needs a custom API and/or a major rewrite.

    This is exactly the war that both Google and Apple are trying to win: divide the developers so that they can no longer maintain several platforms with little cost. Turn it expensive to maintain several platforms simultaneously. And try to convince developers to write apps for your platform instead of the competitors.

    That's the game they're playing. I'm not joining that game. I rather prefer to continue developing with standards and write backends for the platforms that are playing this war.

    As I said, all (and I mean all) of the supposedly advantages of Metal over OpenGL could have been done exactly the same (or even better) on a custom implementation of OpenGL highly optimized for new Apple hardware. They chose to do it with a new proprietary API exactly the same reason why Google dropped OpenCL on their devices (make it hard to develop for several platforms, and move as many developers as possible towards your platform)

    You can certainly champion the opinion that open specifications are always preferable, but you are factually wrong in claiming "the supposedly advantages of Metal over OpenGL could have been done exactly the same (or even better) on a custom implementation of OpenGL highly optimized for new Apple hardware."

    Wanting to believe something doesn't make it true.

    There are plenty of well meaning but flawed "open standards" that simply can't be optimized better than a superior integrated solution.

    Ask Facebook about how its "open" HTML app ideology worked out. Zuckerberg publicly announced it was the company's biggest mistake.

    If you insist that Metal can't exist because you like the idea of OpenGL, you might as well argue that Cocoa should not exist and that all development must be done in JavaScript because it's "open."

    Anytime a company takes a crufty outdated proprietary technology and "opens" it, a magical aura of blessed superiority does not come into existence.

    Outside of Apple, there are no high end mobile GPU vendors with any volume. So why does it make sense for Apple to seek to contort a relic from the 80s to maintain "openness" when nobody else would even benefit from it; said contortions would detriment and complicate OpenGL; and would not optimize A7 performance nearly as well as a custom solution?
  • Reply 40 of 94
    wizard69wizard69 Posts: 13,377member
    Sure it works with the A7, but you know its built for the A8.

    I'm really hoping that A8 addresses the memory bandwidth issues seen on iPad. I really don't care about iPhone, hell im still running an iPhone 4, but iPad could use a lot more performance. Faster RAM, more RAM more flash and faster flash would do much to enhance the platform and frankly Apple could deliver that with minor tweaks to A7.
Sign In or Register to comment.