or Connect
AppleInsider › Forums › Mobile › iPhone › Inside Metal: How Apple plans to unlock the secret graphics performance of the A7 chip
New Posts  All Forums:Forum Nav:

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

post #1 of 94
Thread Starter 
Among the surprises that Apple unveiled at WWDC 2014 is the company's new Metal framework and shader language, aimed at radically enhancing the hardware accelerated graphics potential of the A7 Application Processor powering the company's latest iOS devices.

iOS 8 Metal


Introduced during the WWDC Keynote by Apple's software chief Craig Federighi--who is said to be a particular fan of metal rock--Metal as a technology applies to the GPU (Graphics Processing Unit) of Apple's new 64-bit A7 Application Processor used in its newest iOS devices: iPhone 5s, iPad Air and Retina iPad mini.

The new technology's name actually derives from the fact that it provides "close to the metal" graphics performance by slimming down the overhead imposed by existing graphics libraries like OpenGL. Metal speeds up 3D rendering and general compute tasks while freeing up the CPU to handle additional work, such as more sophisticated physics modeling or audio processing in video games, for example.

In an initial WWDC session devoted to Metal, Apple's GPU software engineer Jeremy Sandmel stated, "we're incredibly excited" to outline the new technology for developers, noting that "we believe it's literally going to be a game changer for you, your applications and for iOS."

Note that the engineer presenting Metal wasn't speaking eloquent marketing language to a crowd of potential customers; he was outlining new technology that developers can use to gain dramatic increases in performance, something that will benefit their apps and Apple's ecosystem. If it doesn't benefit developers' apps enough for them to use it, Metal won't benefit Apple either.

We will soon see whether Metal is a meaningless marketing term like "Intel Inside," that was just invented to sell otherwise undifferentiated hardware, or whether it is a truly new technology that people notice because it is producing a new class of mobile games that can't be matched elsewhere.

So far, Apple has already taken over the high end of mobile video games, with lots of exclusive titles that aren't available on Android, BlackBerry or Windows Phone (and in the future, won't be available on Tizen). That fact that Android doesn't get many high end games is well known enough for AnandTech to observe with rather brutal honesty that "the games that benefit the most from Metal are also the games least likely to be on Android."

Radical new hardware needs radical new software



In the desktop PC world, Macs and Windows PCs have incrementally delivered performance jumps by installing faster and faster CPUs paired with video cards outfitted with increasingly faster dedicated GPUs. Apple's new Mac Pro actually pairs two fast GPUs alongside the main CPU as standard equipment, with one GPU dedicated to video performance and other available for advanced rendering tasks and general compute acceleration. All three processors are cooled by a central heat sink (below).



However, under iOS and the constraints of mobile design--where battery life, heat dissipation and a compact thermal envelope and are critically important--there's a need for rethinking how the latest blazing-fast GPUs are driven. To deliver impressive mobile graphics, a more specialized approach is required because the pure horsepower of a desktop machine is physically too big.Under iOS and the constraints of mobile design--where battery life, heat dissipation and a compact thermal envelope are critically important--there's a need for rethinking how the latest blazing-fast GPUs are driven

Additionally, today's mobile GPUs are now so fast that the CPU cores often have trouble feeding graphics tasks to them fast enough. Once the CPU cores are maxed out, the GPU is left sitting idle, waiting for new work to be dispatched to it by the CPU.

In this area, the general purpose design of OpenGL is reaching the limits of what it can do, largely because it hogs up so much time on the CPU with tasks like state validation and GPU shader compilation.

That's the case particularly in the field of video games, where the target frame rate needs to consistently remain high in order to deliver a fluid experience.

It's also important in the realm of general compute functions, including tasks like encryption or audio and video processing. Apple hasn't yet made OpenCL available for public developer access on its mobile devices, but Metal solves that problem too, because it works with both GPU and "GPGPU" (General-Purpose Computing on Graphics Processing Units) tasks.

With Metal, Apple has targeted the overhead baggage of OpenGL for bypassing with a highly optimized new framework to allow mobile developers to coax the best possible performance from its new A7 (and of course, future A-series chips using the same types of advanced GPU technology).

Precompiling GPU code with the Metal Shader Language



Metal works in part by identifying the tasks that can precompiled in advance so they they can execute without delay at runtime. This involves Apple's new Metal Shader Language, which is used to write "shaders," the specialized computer programs designed to be rapidly run by a GPU.

Initially, a GPU shader described how to apply the smooth shades of color needed to create realistic surfaces on a 3D model. In today's more general terms, a shader can be any sort of image or video processing, from calculating the geometries of an animated 3D model, to rendering individual pixels of a scene, or creating a motion blur effect to an existing frame of video. Shaders can also be used to package general computational tasks for rapid execution on the GPU.

Apple's new shader language for Metal defines both typical GPU graphics operations as well as general compute functions, using the same data structures and resources for both to make things easy and constant for developers. This makes it an efficient, A7-optimized alternative to both OpenGL and OpenCL.

Like Swift, the new programming language Apple created to enhance the compiling performance of code built around Cocoa frameworks, the equally new Metal Shader Language is designed to compile shader code efficiently via LLVM and, whenever possible, in advance of runtime.



For example, a video game could deliver precompiled Metal shaders within its app that are ready to run on the A7's GPU immediately without further processing. By precompiling as much of the shader code as possible, the CPU is freed from having to compile it during game play, saving precious milliseconds of processing time that can now be used for other tasks. By precompiling as much of the shader code as possible, the CPU is freed from having to compile it during game play, saving precious milliseconds of processing time that can now be used for other tasks.

The more general-purpose OpenGL is designed to compile shader object code on the CPU into GPU machine code before it can run. This enables it to support a wide variety of different GPUs, each of which needs to have the required shaders compiled specific to its chip architecture.

This is comparable to the cross platform "Just In Time" interpreting architecture that JavaScript uses to run HTML5 apps on different browsers running on different hardware, or that Java and Android's Java-like Dalvik Virtual Machine use to run code across a widely fragmented array of hardware.

The downside to running everywhere is that the code doesn't run particularly fast anywhere. Code optimized for a particular architecture inherently runs faster and can be optimized further. Even when running cross-platform is important, such as for a ubiquitous service like Facebook, native apps have proven to be far superior to web apps. In video games, where performance is paramount, optimized native code is quite obviously even more critically important. That's the role of Metal in iOS 8.

Metal readied for A7, A7 ready for Metal



In addition to compiling many shaders in advance of runtime, Metal also works to strip away much of the overhead imposed by the general purpose structure of OpenGL, particularly with respect to "state vector," or all of the details associated with each draw call prepared by the CPU and handed to the GPU. This process involves a lot of expensive "bureaucracy" under OpenGL.

Because Metal is optimized specifically to run code on Apple's A7, it doesn't have to deal with all of the various differences in competing GPU designs. That allows Metal to focus exclusively on building and optimizing code targeting the A7's unique architecture. At the same time, Apple is also adding new support for modern GPU features, enabling developers to access more cool new stuff while dealing with less legacy overhead related to supporting outdated architecture cruft.

A7


This hyper-optimization of Metal is possible because Apple develops its own Application Processor chip designs and then standardizes the tens of millions of its latest devices to all use the same hardware. While Apple has customized Metal to wring every drop of performance out of the new A7, it also designed the A7 specifically to excel at running Metal code optimized by the LLVM compiler.

One of the most perplexing conundrums of the iPhone 5c Failure Myth, which insists that Apple was upset to find that it was selling mostly higher end iPhone 5s models rather than its middle tier model, is that the iPhone 5s not only costs more, but also installs a new A7 user. The more higher-end A7-powered phones Apple can sell, the faster and easier it can keep itself differentiated ahead of the "carrier friendly, good enough" sort of models that its competitors are pushing to achieve volume sales.

That's because A7 devices can do things that yesterday's 32-bit chips paired with value engineered ARM Mali integrated graphics can't. And a large installed base of A7-class iPhones and iPads will create a market for A7-optimized apps. Metal is one of the technologies Apple is using to advance the A7's lead even further, creating a stark contrast in sophistication for buyers to notice.

In addition to the surprise of delivering a modern, 64-bit ARMv8 CPU architecture paired with an advanced 6series Rogue GPU, Apple's A7 also incorporates an integrated memory architecture between its CPU and CPU cores. This allows Metal to coordinate the CPU's feeding of the GPU with instructions without needing to constantly pass data back and forth between a central system cache and a dedicated graphics cache.

A7 Chipworks


Apple didn't announce any of that when the A7 was first introduced. Not even the experts at Chipworks could identify what all the silicon on the A7 was doing (above), and there continues to be some controversy about why the A7 would need "over one billion transistors."

The A7's billion transistors puts it in the same category as Sun's UltraSparc T3 16-core server CPU (really). A 6-core Gulftown Intel Core i7 has 1.17 billion transistors. An Intel Core 2 Duo has 291 million, while the original Macintosh was powered by a Motorola 68000 with a mere 68,000.

It turns out that Apple had all sorts of big surprises up its sleeve, and it kept a very straight face while a series of clowns began issuing their ignorant opinions about what they thought the A7 was.

A series of big surprises from Apple's A7



Recall that when Apple first introduced the iPhone 5s' advanced A7 chip, it was first greeted with media skepticism wondering if it was even "truly 64-bit," followed by a communal (and wholly incorrect) story that suggested 64-bit mobile chips didn't matter until devices had "4GB of addressable RAM," and that, in the most extremely ignorant coverage, the A7 was "marketing fluff and won't improve performance."

oops


Meanwhile, there were additional months of unanimous media agreement that the power of the A7 "wasn't even necessary" for a mobile device, and that the real excitement of the mobile industry instead revolved around Google's efforts to make very low priced Motorola devices as well as Google's plans to scale back its previously ambitious plans for Android 5.0 to instead deliver Android 4.4 KitKat with the primary goal of running on low end products (albeit only ones sold in the last 18 months, excluding even its own Galaxy Nexus).

It wasn't just Google that was focusing Android on the low end. Throughout 2013, Apple's primary rival Samsung was shipping the majority of its "smartphones" as low end devices, eroding its "Galaxy" brand from meaning "premium iPhone-class devices" to instead referring to virtually everything it sold with Android on it, mostly low end products that are less sophisticated than Apple's now entry level iPhone 4 from 2010.

Apple was laying the foundation for a series of advances in secret while media pundits and financial analysts were collectively agreeing with each other that Apple was "no longer innovating" throughout most of 2013, just because those individuals weren't aware of what was going on.

The new architecture of the A7 already delivers a significant performance boost when running existing OpenGL code (as shown below, running GFXBench).

iPhone 5s benchmarks


Now, after selling tens of millions of A7-equipped devices, Apple is revealing that its mysterious A7 chip has a radically untapped potential to deliver--via the new Metal--graphics performance that's ten times greater than even its already impressive OpenGL benchmarks originally indicated.

Additionally, the company signaled to its WWDC attendees that they have a window of opportunity to build Metal-enhanced games and other apps that in a few short months will have a broad installed base of tens of millions of iOS 8 users bearing A7 brains. Apple didn't trumpet any of this, because it wanted to make sure that Samsung, Google and everyone else using Android kept on cranking out yesterday's 32-bit phones with no attention to delivering an installed base of mobile devices with advanced graphics capabilities.

Samsung likes to tout the high (2.5GHz) clock rate and "eight cores" of its latest Galaxy S5. However, the device still uses either Adreno graphics or ARM Mali graphics (depending on where the model is sold.) Not only do both versions deliver only basic graphics performance, but the split divides the installed base for either chip architecture, making it difficult to impossible for Samsung to get developers to really coax the full performance from either one with some specialized software similar to Apple's Metal.

Unlike Apple's flagship iPhone 5s which makes up the majority of the company's smartphone sales, Samsung's Galaxy S5 represents only a fraction of the smartphones it sells. Even if Samsung decided right this instant to copy Apple, it would still be a year behind in starting to install a user base of smartphone customers with A7-class hardware.

While Samsung is widely known to be over a year behind in delivering a 64-bit CPU, it's also at least as far behind in building an installed base of advanced GPUs too. And the fractured way that Samsung (and every other Android licensee) rolls out new technology is much slower. In stark contrast, next year most of Apple's installed base will have 64-bit CPUs paired with advanced PowerVR 6series GPU graphics.

Rapidly creating a large installed base of mobile devices with advanced hardware (far superior to its existing peers) is what made the iPhone App Store wildly successful while at the same time making other platforms like Palm OS, Windows Mobile and Symbian look old and saggy. Customers noticed the cool new iOS software and apps, but it was Apple's great leap in hardware that was exclusively able to power that software. The A7 is both literally and figuratively a game changer.

Android's ability to match (and often exceed) the hardware sophistication of Apple's iPhones has allowed it to catch up. But over the past two years, Android has been cultivating a mass market volume play, rather than keeping pace with Apple's high end mobile devices.

That's most obviously the case in the Application Processor's CPU and GPU features, and that's clearly why Apple has been investing so much into creating its own proprietary chip designs capable of staying far ahead of the status quo. The A7's sophistication goes beyond processing speed to also greatly enhance camera performance and integrate a secure implementation of Touch ID.

For "smartphones" that are used as basic feature phones, or tablets that are primarily used as personal TVs, the A7's advantages won't matter much. But for the cream of the mobile market, a premium segment that plays video games and cares about powerful mobile apps (segments that include education, government, and corporate enterprise), the A7 is both literally and figuratively a game changer.

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.

The decision to support Metal isn't necessarily all or nothing; the A7 installed base is already large enough to be able to entice developers to create a Metal-enhanced port of their existing titles to offer an optimized version for A7-equipped devices.

For example, a developer like Epic Games--which brought its Unreal Engine to iOS to deliver a trio of "Infinity Blade" games (below) that each launched exclusively for iOS--Metal offers a new way to deliver even more impressive, iOS-exclusive titles.

Infinity Blade III


Epic founder and Unreal co-creator Tim Sweeney appeared on stage during the WWDC keynote to show off the Metal-enhanced Unreal Engine 4 in a demo title named "Zen Garden," created entirely to display an outrageous number of drifting cherry blossom petals, an unreal swarm of koi fish, and throngs of thousands of interactive, flittering butterflies.

Electronic Arts, well known as a cross platform games developer, also appeared on stage to demonstrate its own Frostbite, a "console level" graphics engine that it said it did not anticipate being able to directly port to a mobile device. Thanks to Metal, it can. In a Metal demonstration of its latest installment of "Plants vs. Zombies," EA noted at one point that there were "1.3 million triangles on the screen."

Crytek demonstrated its Metal-enhanced version of "The Collectables," capable of "4,000 draw calls per frame." In the game, users navigate a team of mercenaries through a battlefield where exploding vehicles can throw over a hundred chunks of debris into the air as they explode, delivering an immersive new level of gameplay.



Thanks to Apple's new era of openness surrounding WWDC, additional details about Metal and its the new Metal Shader Language are available for any developers interested in implementing Metal's features to get the best performance possible on Apple's latest gear.
post #2 of 94
Metal rock? Is that like hippity-hop?

censored

Reply

censored

Reply
post #3 of 94
No mention of Metal's rivals? DirectX 12 and Mantle take a very similar approach to API design.
post #4 of 94

Sure it works with the A7, but you know its built for the A8.

post #5 of 94
Quote:
Originally Posted by RichL View Post

No mention of Metal's rivals? DirectX 12 and Mantle take a very similar approach to API design.

Is Direct X (any version) a rival?  I don't see any particular competition between a commodity phone, and a PC really.  Yeah, they are both doing the same thing, but for very different audiences.  You'll never see DX on any mobile OS, just as you will never see Metal anywhere outside of the Apple ecosystem, and people are more likely to choose both than choose one between them.

post #6 of 94
I've gotta say it's the best article I've seen in a while
post #7 of 94
Quote:
Originally Posted by stuffe View Post
 

Is Direct X (any version) a rival?  I don't see any particular competition between a commodity phone, and a PC really.  Yeah, they are both doing the same thing, but for very different audiences.  You'll never see DX on any mobile OS, just as you will never see Metal anywhere outside of the Apple ecosystem, and people are more likely to choose both than choose one between them.

 

DirectX is available on Windows Phone, with DirectX 12 available next year. However, I'm talking about rivals in terms of technology leadership. Metal isn't the first graphics API to take that approach that it does. A bit of context would be useful. 

post #8 of 94
Not sure how there are still doubters, but everything in this article shows that Apple is laying the groundwork for future A"x" based MacBooks and iMacs... A9 is only a year away. Metal will make it work.
post #9 of 94
I know it's been said before, but this would be a great way to introduce high end console quality games to an A7/8 powered ATV. Just need decent controllers...

Personally I'd rather have the video content rather than games, but I'd happily take both.
post #10 of 94
Quote:
Originally Posted by ctmike78 View Post

Not sure how there are still doubters, but everything in this article shows that Apple is laying the groundwork for future A"x" based MacBooks and iMacs... A9 is only a year away. Metal will make it work.

Interesting.

This bot has been removed from circulation due to a malfunctioning morality chip.

Reply

This bot has been removed from circulation due to a malfunctioning morality chip.

Reply
post #11 of 94
If this graphics power is coming at the expense of battery life, and it almost certainly is, then perhaps it's time for Apple to introduce EL (for Extended Life) versions of its mobile devices for gamers. A bit of added thickness wouldn't be hard to engineer and that added space could perhaps double battery life.
Also, this graphics power has other uses, particularly in medicine, engineering and the sciences. It'd be great if Apple's devices could make it though a long and busy work day without the battery rolling belly up.
post #12 of 94
Quote:
Originally Posted by Inkling View Post

If this graphics power is coming at the expense of battery life, and it almost certainly is...

From the graph they showed Metal reduces a lot of computational overhead which I interrupted to mean that it would take less time and therefore less power to get from point A to B. Is that not likely?

This bot has been removed from circulation due to a malfunctioning morality chip.

Reply

This bot has been removed from circulation due to a malfunctioning morality chip.

Reply
post #13 of 94
" ..."CPGPU" (General-Purpose Computing on Graphics Processing Units)... "

Seriously. Is there some reason why you can't be bothered to proofread articles before posting them? This article is a mess.
post #14 of 94
Quote:
Originally Posted by RichL View Post

No mention of Metal's rivals? DirectX 12 and Mantle take a very similar approach to API design.

 

Do DirectX 12 and Mantle tap an installed base of tens of millions of compatible mobile devices running 64-bit processors?

post #15 of 94
Quote:
Originally Posted by stuffe View Post
 

Is Direct X (any version) a rival?  I don't see any particular competition between a commodity phone, and a PC really.  Yeah, they are both doing the same thing, but for very different audiences.  You'll never see DX on any mobile OS, just as you will never see Metal anywhere outside of the Apple ecosystem, and people are more likely to choose both than choose one between them.

 

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.

 

For a game developer interested in standing out from the crowd, what Apple is offering is a huge installed base of 64-bit mobile devices combined with these new frameworks. Nothing comparable can be offered on Android's highly fragmented platform nor on Windows' tiny user base.

post #16 of 94
Quote:
Originally Posted by RichL View Post
 

 

DirectX is available on Windows Phone, with DirectX 12 available next year. However, I'm talking about rivals in terms of technology leadership. Metal isn't the first graphics API to take that approach that it does. A bit of context would be useful. 

 

That wasn't the point of the article.

post #17 of 94

It's been obvious that there's been a lack of apps and games that really take advantage of the A7...I mean, even iOS 7 isn't the best at it, given the speed gains being seen with iOS 8. Looking forward to seeing more stuff in the second year. Maybe A7 devices will have a good long life.

Too many Apple products to list...Long on AAPL, so take what I say with a bucket of salt.
Reply
Too many Apple products to list...Long on AAPL, so take what I say with a bucket of salt.
Reply
post #18 of 94
Quote:
Originally Posted by dysamoria View Post

" ..."CPGPU" (General-Purpose Computing on Graphics Processing Units)... "

Seriously. Is there some reason why you can't be bothered to proofread articles before posting them? This article is a mess.

 

I find it amazing that someone can read a piece as good as this and come away with nothing but grumbling about a few typos.

post #19 of 94
Quote:
Originally Posted by ctmike78 View Post

Not sure how there are still doubters, but everything in this article shows that Apple is laying the groundwork for future A"x" based MacBooks and iMacs... A9 is only a year away. Metal will make it work.

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
post #20 of 94
Quote:
Thanks to Apple's new era of openness surrounding WWDC [...]
Yeah, sure, "openness"... changing the current Apple direction by abandoning standards and going proprietary APIs and languages is called "openness". Last year we were told at the WWDC that we _should_ be using OpenCL. Now we're told the future is called Metal. Don't be fooled, the A7/A8 could get from a properly optimized OpenGL/OpenCL implementation the same performance benefits, or higher, than Metal. The only reason Apple introduced proprietary stuff now is to fight against Google using the same dirty tricks as Google is using.

I think I'll step at a side in the Apple-Google fight. In the meantime I'll continue to use standards.
post #21 of 94
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.

 

For a game developer interested in standing out from the crowd, what Apple is offering is a huge installed base of 64-bit mobile devices combined with these new frameworks. Nothing comparable can be offered on Android's highly fragmented platform nor on Windows' tiny user base.

 

Quote:
Originally Posted by RichL View Post
 

 

DirectX is available on Windows Phone, with DirectX 12 available next year. However, I'm talking about rivals in terms of technology leadership. Metal isn't the first graphics API to take that approach that it does. A bit of context would be useful. 

 

To clear up, I was referring to *all* phones as commodity, not specifically targeting 1 platform.

 

I was surprised to read about DX12.  A quick google suggests that they currently adopt a subset of DX9.3, which goes back to Windows XP and Half Life 2, so hardly particularly modern, but at least they are dogfooding to a degree, rather than just relying on OpenGL and ramping up the MHz.

 

You are both right of course, but I was just trying to say that trying to cut out middleman execution steps is a fact of life for all computing these days, even browsers essentially perform the same approach (that of see if it's quicker to compile now and run many times, rather than just process everything in a big queue in the same way regardless).  The fact that DX12 might also be attempting to cut out some layers isn't because it's competing with Metal (how could it, they didn't even know it existed until we did), it's just indicative of the trends in computing right now.  To use the ubiquitous car analogy, even Formula 1 Cars are working with engine efficiency and recycling as key technology advancements, but they are not competing with people who drive a Prius which is using the same approach, just for a different market.  To compare the 2 isn't contextual, it's a bit of a tenuous link.

 

Metal is about distinguishing Apple's gaming frameworks and APIs from other mobile vendors, not about competing with full scale PCs, that was my point really.  I know (now) that DX9 is in Win 8, and DX12 is supposed to be on the way, but it cannot be the same sort of implementation as on a PC, and at best it will be another subset implementation I would imagine.

 

Of course, the logical end point of all this is to hit the metal directly, much like on an Amiga or similar system.  Cut too many layers and first you are losing your GPX abstractions layers (OpenGL, DX, etc), then the OS level goes next (No more even booting to a command line, DOS=HIGH included...) and you are back to writing assembly against the tin!  That's never gonna happen of course, there is a limit to increasing the potential for speed, and increasing the complexity of design.

post #22 of 94

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.

post #23 of 94
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.

post #24 of 94
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)

post #25 of 94
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.

post #26 of 94
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).


Edited by auxio - 6/16/14 at 8:15am
 
Reply
 
Reply
post #27 of 94
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.
post #28 of 94
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.

post #29 of 94
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... ;)

post #30 of 94
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.  

post #31 of 94
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.


Edited by auxio - 6/16/14 at 8:34am
 
Reply
 
Reply
post #32 of 94
Quote:
Originally Posted by stuffe View Post

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.
post #33 of 94
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
 
Reply
post #34 of 94
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?

post #35 of 94
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
 
Reply
post #36 of 94
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?

I'm assuming you'll soon be wearing left and right 80" (virtual) screens on your face. Then all bets about content are off.
post #37 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.
post #38 of 94
Quote:
Originally Posted by daveinpublic View Post

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.
post #39 of 94
Quote:
Originally Posted by Corrections View Post

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.
Edited by daveinpublic - 6/16/14 at 9:53am
post #40 of 94
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.

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?
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: iPhone
  • Inside Metal: How Apple plans to unlock the secret graphics performance of the A7 chip
AppleInsider › Forums › Mobile › iPhone › Inside Metal: How Apple plans to unlock the secret graphics performance of the A7 chip