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 - Page 2

post #41 of 94
Quote:
Originally Posted by Tallest Skil View Post

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

I've gotta say it's the best article I've seen in a while



I don't Know about that. Lots of fluff doesn't make for an engaging article. I was waiting for the big reveal of the internals of the A7 and all we got was more fluff and strung along. The article would have been great if it actually was able to describe A7's internals a bit.
post #43 of 94
Quote:
Originally Posted by daveinpublic View Post

In other words, the author doesn't realize that Unity is a primary example or how metal is supposed to be used.

Unity is an example of software that can opt to use Metal to optimize performance on the A7. It currently does not, so developers using it and other middleware to reach cross platform audiences can choose to wait for that to happen or choose to roll their own optimizations.

Contribute your own comments (even corrections) without assuming to know everything that anyone else is thinking or aware of.
post #44 of 94
Quote:
Originally Posted by auxio View Post
 

 

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.

 

Which do you think has more potential, the shrinking console gaming market with $500 devices or some version of Apple TV expanding into gaming with $99 devices?

 

 

http://stratechery.com/2014/apple-tv-might-disrupt-microsoft-sony/

 

 

post #45 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.

This could easily happen with A8 this year! It all depends upon what is important to Apple with A8, if they go after lower power maybe we won't get a laptop chip. If they go after performance, that is add more cores and beef up I/O we just might see portables and a Mini replacement. I don't see Apple undermining their i86 product line though, so IMacs and Mac Books would remain i86 for awhile.

Think of these devices as a new category that is neither Mac Book nor iPad. I'm really excited about the prospects really.
post #46 of 94
Quote:
Originally Posted by stuffe View Post
 

 

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

 

Why do you think I don't know OpenCL? Did you read the article? I quote the line of interest here:

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


Unity is an example of software that can opt to use Metal to optimize performance on the A7. It currently does not, so developers using it and other middleware to reach cross platform audiences can choose to wait for that to happen or choose to roll their own optimizations.

It's been two weeks Dan.  No one is going to drop developing with Unity because they haven't updated their development kit with technology announced just two weeks ago.  Especially not with all the other benefits Unity offers.

 

Apple worked with Unity to develop Metal, so name checking it as a contrast to Metal doesn't really sit right.  Unity have publicly stated their support for Metal, and will update their tools soon enough.  Given the development lifecycle of games that would benefit from Metal (and the fact that iOS8 is still a way off itself), no one is being substantively put out by a little bit of lag.

 

You're probably right in that the best optimisations will be the ones hand-coded in by developers who get intimate with the technology, but that's true of anything.

censored

Reply

censored

Reply
post #48 of 94
Quote:
Originally Posted by Corrections View Post

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.

 

I believe it's possible to do both if you design it right.

 

Any software architect worth their salt knows that you start with high-level generic ideas for your overall architecture and then work on the specific implementation details afterwards.  And it's not like Apple is creating a whole new type of hardware component here: GPUs are pretty well-defined now.  Some are obviously more capable than others, but the overall architecture is the same.  So it should be possible to come up with a high-level architectural specification which could be applied to any modern GPU (the open part).

 

Then Apple would simply implement that specification for they're own GPU(s) (the proprietary part).  Anyone else who wants to provide compatibility for their particular platform would need to do the same (implement it according to the specification you provided).  The benefit here is that, if enough platforms did this, game developers then simply need to create their games to match the common API specification, and they'll work on all platforms which have implementations of it (like OpenGL).

 

Why would Apple care about that when they want you to use they're platform?  Because it provides incentive for more game developers to write their games using a technology which works well on Apple's platform (as opposed to using DirectX or other technologies which don't).  Game developers obviously want to target the largest number of platforms (to get the largest user base), and if your technology works across a number of different platforms, they'll use it.  So it generates buy in for Apple's technology, and thus there'll be more/better games for their platform.

 

The risk obviously is that other platform creators get all of the R&D you put into the open specification for free.  It may also give other GPU manufacturers clues as to how your particular hardware works.  But, at this point, most of the advances happening in GPUs are well known, so I don't think it's that big a deal.  And, like I mentioned in an earlier post, they could try the licensing model (though that would likely slow adoption by other vendors).


Edited by auxio - 6/16/14 at 10:28am
 
Reply
 
Reply
post #49 of 94
Quote:
Originally Posted by Corrections View Post

[…]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." […]

Oh, no, please, everything but JavaScript!!!  I'd rather prefer OSF/Motif (and seriously).

 

Jokes aside, I don't consider Cocoa a proprietary API. Cocoa is just NeXTSTEP, which was made open through OpenStep, and used as a standard by several vendors at the time (at least available for Windows NT and Solaris). In fact, even today you can use the Cocoa API without a Mac, because there's GNUstep.

 

Now you can argue that Metal is so incredibly revolutionary it will change our minds and our way of living, so Apple will sublicense it to Google and Microsoft, and everybody will be using Metal in the next decade. But that belongs to the future, and all proprietary stuff created by Apple fits in one of two groups:

 

Group A: Proprietary stuff which was announced like awesome, a revolution, something you really need to learn if you want to earn a living as a developer, but that… at the end, it was abandoned and forgotten (think of QuickDraw3D, AltiVec, Carbon, and quite a few more).

 

Group B: Stuff which most of the times didn't have such a huge hype, but that at the end was a industry success and become an standard (think of the NeXTSTEP API which turned into Cocoa, the Objective C language, OpenCL -not created by Apple but almost- , and quite a few more).

 

IMHO, Metal and Swift belong to Group A, but time will tell. In the mean time, I continue using technologies from Group B (with perhaps backends to Metal and Swift if Apple really wants to force us to use them).

post #50 of 94
Quote:
Originally Posted by auxio View Post
 

Any software architect worth their salt knows that you start with high-level generic ideas for your overall architecture and then work on the specific implementation details afterwards.  And it's not like Apple is creating a whole new type of hardware component here: GPUs are pretty well-defined now.  Some are obviously more capable than others, but the overall architecture is the same.  So it should be possible to come up with a high-level architectural specification which could be applied to any modern GPU (the open part).

That's all well and good, but it's the specific implementation details that get the juice flowing, and if you're having to interpret high level abstractions that are bogged down by years of legacy (which I understand OpenGL is) then you're pretty encumbered from the start.  Apple have ditched the legacy and brought in something much closer to the specific implementation details that allow developers to write much closer to the machine.  And yes, that makes cross platform development a little bit harder, but if players like Unity can make the cross-development tools translate down to Metal (and any low level APIs Microsoft or Google want to apply to their platforms) then the cross platform problem is solved by the tools rather than the API, and everyone's device is the better for it.

censored

Reply

censored

Reply
post #51 of 94
Quote:
Originally Posted by auxio View Post
 

 

I believe it's possible to do both if you design it right.

 

Any software architect worth their salt knows that you start with high-level generic ideas for your overall architecture and then work on the specific implementation details afterwards.  ... So it should be possible ... Then Apple would simply implement that specification ...

 

That all sounds nice, but if you look at the radical changes Apple made to achieve the performance gains in Metal, it becomes obvious that there is no way the same radical changes could have been made to OpenGL ES. Additionally, Apple can't make unilateral changes to OpenGL ES even if it thinks it knows best.

 

What you're arguing is like saying the US or any other country shouldn't make any laws until the UN ratifies a global legal framework covering all possible issues first. 

 

Metal is not really a direct competitor to OpenGL. It is an A7 specific API for doing things one can't do (or can't do nearly as fast) using a more general purpose API like OpenGL. Apple also has other APIs that are specific to iOS, to Cocoa, and to Objective C. You might as well insist that Apple also launch an open specification for Cocoa so that everyone else can benefit.

 

Then recall that Steve Jobs tried that ~1993-96. It didn't work, and the companies that were supposed to contribute and benefit from OpenStep didn't, or said they would and then pulled out (Sun, HP, IBM). 

 

Apple shares a universal open platform in WebKit and contributes/collaborates with a series of open standards and specifications, from H.264 to OpenGL to Unix. It contributes royalty free patents to HTML5 and creates its own open specifications like Bonjour. And Apple is the primary reason why OpenGL even survived the onslaught of Microsoft.

 

But to demand that Apple give away all of its work in the form of universal specifications so that competitors that contribute virtually noting to the world (ahem Samsung) could benefit more than they already do, or to suggest that everything Apple does be delayed until it can be implemented in a OSI-style bureaucratic global specification, is just beyond ridiculous.

post #52 of 94
Quote:
Originally Posted by Corrections View Post
 

But to demand that Apple give away all of its work in the form of universal specifications so that competitors that contribute virtually noting to the world (ahem Samsung) could benefit more than they already do... is just beyond ridiculous.

 

No one is demanding that.

 

And as you mention, Apple already does that in one area, with WebKit, so it's not all that ridiculous.

censored

Reply

censored

Reply
post #53 of 94
Quote:
Originally Posted by ecs View Post
 

Group A: Proprietary stuff which was announced like awesome, a revolution, something you really need to learn if you want to earn a living as a developer, but that… at the end, it was abandoned and forgotten (think of QuickDraw3D, AltiVec, Carbon, and quite a few more).

 

Group B: Stuff which most of the times didn't have such a huge hype, but that at the end was a industry success and become an standard (think of the NeXTSTEP API which turned into Cocoa, the Objective C language, OpenCL -not created by Apple but almost- , and quite a few more).

 

IMHO, Metal and Swift belong to Group A, but time will tell. In the mean time, I continue using technologies from Group B (with perhaps backends to Metal and Swift if Apple really wants to force us to use them).

 

QuickDraw 3D and RAVE were both cross platform initiatives with partly open API specifications that died when proprietary competitors (Microsoft) beat them.

 

AltiVec is an open specification that's part of the PowerPC standard. Again, beaten by proprietary AMD/Intel standards.

 

Carbon was Apple's proprietary, procedural API from the Classic 1980s Macintosh. Apple sought to replace it with OpenStep, but Mac developers demanded it remain around for another decade so they wouldn't have to shift to adopt an open platform at great cost to themselves.

 

Cocoa is proprietary. OpenStep implementations are not compatible and haven't been since Cocoa was birthed from the ashes of YellowBox.

 

Objective C is an open specification but is almost exclusively used for proprietary iOS/OS X development

 

The primary reason for Apple's failure in the early 1990s and its success in the 2000/2010s is not open vs. proprietary but rather having the clout to do what it wanted to do because it made the most money selling the most stuff at a profit. 

 

Google says its open, but all the money it makes comes from proprietary technology. And all the openness that it embraces has gone nowhere but to fortify China (and to keep Amazon busy) with little or no economic benefit to Google.

 

Microsoft has always been closed and proprietary, but that only worked as long as it could maintain a monopoly. It doesn't help Windows Phone, Windows 8.1 or the Zune or KIN or Surface one bit if none of those things are selling and generating profits, regardless of whether Microsoft pursues an open or proprietary strategy. 

post #54 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.

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.

"Apple should pull the plug on the iPhone."

John C. Dvorak, 2007
Reply

"Apple should pull the plug on the iPhone."

John C. Dvorak, 2007
Reply
post #55 of 94
Quote:
Originally Posted by Crowley View Post
 

 

No one is demanding that.

 

And as you mention, Apple already does that in one area, with WebKit, so it's not all that ridiculous.

 

Don't jump into a conversation and say "nobody is demanding" what somebody just demanded.

 

Also: WebKit serves the purpose of maintaining open compatibility with the open Web specification. 

 

It makes no sense for Apple to seek to "maintain compatibility" with nonexistent group of competitors. Nobody has the same need to drive high end gaming and GPGPU on mobile devices over an installed base of tens of millions of A7-class Application Processors. 

 

Nobody else cares about GPUs (Samsung is shipping premium flagships with Mali graphics!), and Android exists solely to provide the UK, the Germans and the Third World with cheap phones that provide an illusion of freedom while allowing the NSA to spy on Google's dossier of their every move. 

post #56 of 94
Quote:
Originally Posted by Crowley View Post
 

That's all well and good, but it's the specific implementation details that get the juice flowing, and if you're having to interpret high level abstractions that are bogged down by years of legacy (which I understand OpenGL is) then you're pretty encumbered from the start.  Apple have ditched the legacy and brought in something much closer to the specific implementation details that allow developers to write much closer to the machine.

 

So just make it an entirely new open SDK -- no OpenGL required (call it OpenMetal).  It _could_ be implemented using OpenGL if someone chooses to do so, but it doesn't need to be.

 

Look, I know everyone believes there's some technical reason instead platform lock-in here, but I don't really see it.  And that's fine, Apple is gambling that their platform is strong enough now that they don't need to go the open standard route (as they typically did in the past with OS X).  Time will tell if enough game developers are willing to lock in, or whether someone will take a look at what they did with Metal and create a similar open technology (which will become the standard).

 
Reply
 
Reply
post #57 of 94
Quote:
Originally Posted by Corrections View Post
 

That all sounds nice, but if you look at the radical changes Apple made to achieve the performance gains in Metal, it becomes obvious that there is no way the same radical changes could have been made to OpenGL ES. Additionally, Apple can't make unilateral changes to OpenGL ES even if it thinks it knows best.

 

See my other post.  Just don't base on OpenGL then.  Compiling high-level code to GPU-specific code and uploading it to a GPU is nothing new. There is an abstraction to be had here (with tweaks for each GPU).

 

Quote:
What you're arguing is like saying the US or any other country shouldn't make any laws until the UN ratifies a global legal framework covering all possible issues first. 

 

Not at all.  Why does one need a governing body to publish an open standard?  Just put it out there and let a community form around it.

 

Quote:
Metal is not really a direct competitor to OpenGL. It is an A7 specific API for doing things one can't do (or can't do nearly as fast) using a more general purpose API like OpenGL. Apple also has other APIs that are specific to iOS, to Cocoa, and to Objective C. You might as well insist that Apple also launch an open specification for Cocoa so that everyone else can benefit.

 

See above for the first part.  Cocoa came out of NeXT, and there are plenty of open specs related to the parts which make it up.  Look up the Cocotron project for an example of another implementation of Cocoa which works across platforms.

 

Quote:

But to demand that Apple give away all of its work in the form of universal specifications so that competitors that contribute virtually noting to the world (ahem Samsung) could benefit more than they already do, or to suggest that everything Apple does be delayed until it can be implemented in a OSI-style bureaucratic global specification, is just beyond ridiculous.

 

So just make a small portion of the spec open (and leave a lot of the implementation details to the proprietary part).  That way you don't get bogged down in bureaucracy anytime you want to move forward.  Also, Apple could do the same thing they do with WebKit to keep things moving at the pace they need.

 
Reply
 
Reply
post #58 of 94
Originally Posted by AppleInsider View Post

...  there were additional months of unanimous media agreement that the power of the A7 "wasn't even necessary" for a mobile device ...

 

"I laid out memory so the bottom 640K was general purpose RAM and the upper 384 I reserved for video and ROM, and things like that. ... It was ten times what we had before. But to my surprise, we ran out of that address base for applications within—oh five or six years people were complaining."

- Bill Gates, 1993

 

Things move a whole lot faster in tech than they did 20+ years ago.

Better to release a product that's a quantum leap ahead, then let developers catch up to its potential.

(And nope, it won't take anywhere near " five or six years.")


Edited by SockRolid - 6/16/14 at 11:45am

Sent from my iPhone Simulator

Reply

Sent from my iPhone Simulator

Reply
post #59 of 94
Quote:
Originally Posted by Corrections View Post

Nobody else cares about GPUs (Samsung is shipping premium flagships with Mali graphics!), and Android exists solely to provide the UK, the Germans and the Third World with cheap phones that provide an illusion of freedom while allowing the NSA to spy on Google's dossier of their every move. 
What's with the weird selective country name checking? Android has dominant market share in the US as well, so android doesn't exist "solely" for what you say at all.

censored

Reply

censored

Reply
post #60 of 94
Quote:
Originally Posted by Corrections View Post
 

 

QuickDraw 3D and RAVE were both cross platform initiatives with partly open API specifications that died when proprietary competitors (Microsoft) beat them.

 

AltiVec is an open specification that's part of the PowerPC standard. Again, beaten by proprietary AMD/Intel standards.

 

Carbon was Apple's proprietary, procedural API from the Classic 1980s Macintosh. Apple sought to replace it with OpenStep, but Mac developers demanded it remain around for another decade so they wouldn't have to shift to adopt an open platform at great cost to themselves.

 

Cocoa is proprietary. OpenStep implementations are not compatible and haven't been since Cocoa was birthed from the ashes of YellowBox.

 

Objective C is an open specification but is almost exclusively used for proprietary iOS/OS X development

 

The primary reason for Apple's failure in the early 1990s and its success in the 2000/2010s is not open vs. proprietary but rather having the clout to do what it wanted to do because it made the most money selling the most stuff at a profit. 

 

Google says its open, but all the money it makes comes from proprietary technology. And all the openness that it embraces has gone nowhere but to fortify China (and to keep Amazon busy) with little or no economic benefit to Google.

 

Microsoft has always been closed and proprietary, but that only worked as long as it could maintain a monopoly. It doesn't help Windows Phone, Windows 8.1 or the Zune or KIN or Surface one bit if none of those things are selling and generating profits, regardless of whether Microsoft pursues an open or proprietary strategy. 

 

Nope. Microsoft didn't "beat" QuickDraw3D (Apple chose OpenGL rather than Direct3D for replacing QD3D, and not because it was "beaten", but because OpenGL was a industry standard that everybody needed to support).

 

Also, AltiVec wasn't "beaten" by anybody. It's just Apple who decided to drop it on their platform after having convinced all developers that they needed to use it if they wanted the best performance in Macs.

 

And Cocoa is not what I call "proprietary" (at least it's not what I call nonstandard). When something is so good you really need to use it, and besides you also have it on other platforms, I consider it's a standard.

 

We could go on arguing on this for a year. But then Metal and Swift will be stuff from the past and nobody will remember this WWDC (or at least these technologies).

post #61 of 94
Excellent story!
Apple shows some real groundwork advancements.
That's very hard to do.
post #62 of 94
Quote:
Originally Posted by eggimage View Post

I've gotta say it's the best article I've seen in a while

I'd second that. I'll also be interested to see when the market wakes up to the high value of such strategies and not just the obvious hardware releases. Now I'm understanding some of the smiles I see. Great article.

post #63 of 94
Pre-compiling shaders should mean less work to do at runtime and therefore better battery life%u2026unless I've missed something 1smile.gif

You can also bet the farm that the fruity ones are working on new battery technologies. Good thing we're not using sealed lead-acid batteries like the original Mac Portable did.
post #64 of 94
Quote:
Originally Posted by auxio View Post
 

 

I believe it's possible to do both if you design it right.

 

Any software architect worth their salt knows that you start with high-level generic ideas for your overall architecture and then work on the specific implementation details afterwards.  And it's not like Apple is creating a whole new type of hardware component here: GPUs are pretty well-defined now.  Some are obviously more capable than others, but the overall architecture is the same.  So it should be possible to come up with a high-level architectural specification which could be applied to any modern GPU (the open part).

 

Then Apple would simply implement that specification for they're own GPU(s) (the proprietary part).  Anyone else who wants to provide compatibility for their particular platform would need to do the same (implement it according to the specification you provided).  The benefit here is that, if enough platforms did this, game developers then simply need to create their games to match the common API specification, and they'll work on all platforms which have implementations of it (like OpenGL).

If what you say it true (and it may be), then the open standards should be able to create their own version of Metal that makes it relatively easy for programers to use either architecture.  And why should Apple make the effort to implement such a standard?  It would have taken three times as long to get it done and everyone would be bitching about how Apple is trying to get everyone to do it their way.  Apple was right to just implement it themselves. The Android community can fend for itself.

post #65 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, 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.

 

not how apple rolls, and isnt going to happen. you can get an aftermarket battery-case to do exactly that, tho.

post #66 of 94
Quote:
Originally Posted by ecs View Post


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.


I would disagree. Yes, they did introduce Metal. But they also did introduce WebGL.

 

OpenCL up to 1.2 has a major drawback - it does not support memory sharing between CPU and GPU (what AMD calls Heterogeneous System Architecture). That means each OpenCL memory allocation must be in a separate physical area not accessible by the CPU leading to large amounts of memory copy operations. That makes a lot of sense for PCs with a GPU having its own video memory, but is impractical, even counter-effective in SoCs.

 

I'm sure once OpenCL 2.0 is official, Apple will introduce it in iOS as well. In the mean time, Metal is the way to go.

 

Also, why do you think AMD introduced Mantle? They are well known to have been introducing custom OpenGL extensions for years. But they finally chose to introduce Mantle. Don't make it all about Apple when it's really not.


Edited by capasicum - 6/16/14 at 11:19pm
post #67 of 94
Quote:
Originally Posted by Corrections View Post

Unity is an example of software that can opt to use Metal to optimize performance on the A7. It currently does not, so developers using it and other middleware to reach cross platform audiences can choose to wait for that to happen or choose to roll their own optimizations.

Contribute your own comments (even corrections) without assuming to know everything that anyone else is thinking or aware of.

In your article you used Unity as an example of a good reason many game developers won't use metal. You can read the paragraph again and see it. You said, don't worry, people won't abandon OpenGL or other sdk's, because they still want to reach a wider audience. But for those who want to use metal.... They will stand out in the App Store.

I was saying, Unity will use metal. Apple isn't necessarily using metal to get developers to make iOS only games - they worked with unity to get Metal in their system. That means they're ok with making the same games that use Metal available on other platforms. So, the real reason they're using Metal is to get better graphics onto their products. People should give apple kudos for leaving the door open for other platforms. As far as stating my opinion like its fact, I think that's something we all do, including you.
post #68 of 94
Quote:
Originally Posted by auxio View Post
 

 

So just make it an entirely new open SDK -- no OpenGL required (call it OpenMetal).  It _could_ be implemented using OpenGL if someone chooses to do so, but it doesn't need to be.

 

Look, I know everyone believes there's some technical reason instead platform lock-in here, but I don't really see it.  And that's fine, Apple is gambling that their platform is strong enough now that they don't need to go the open standard route (as they typically did in the past with OS X).  Time will tell if enough game developers are willing to lock in, or whether someone will take a look at what they did with Metal and create a similar open technology (which will become the standard).

 

I don't think you're looking at what Metal actually is. It is not a Direct3D-like, proprietary copy of OpenGL intended to run *nix out of business. It is an optimized API for a specific chip designed to maximize GPU performance and CPU efficiency. None of the value of Metal can be "implemented in OpenGL," because the entire point of OpenGL is to support a wide variety of different GPU architectures. 

 

You think you see "lock-in," but you're really just carried away with the most cynical take possible on why Apple is trying to solve problems that developers currently have when working on mobile devices. OpenGL carries lots of legacy baggage. Anyone who wants that sort of "solution" can keep using it, and lots of people will for various reasons. And Apple is working to deliver the best OpenGL implementation at the same time as it is building an optimized, highly efficient alternative in Metal. 

 

Your dream goal of "someone" building an "open technology" standard based on Metal makes no sense, because nobody else in the industry has a business model that supports building mobile devices with advanced graphics. The "open standard" for mobile quickly shifted from Java Mobile to Android, and neither of those platforms were intended to deliver anything great. They are all minimal environments intended only for cross platform, low cost development.  

 

Quote:
Originally Posted by auxio View Post
 

 

See my other post.  Just don't base on OpenGL then.  Compiling high-level code to GPU-specific code and uploading it to a GPU is nothing new. There is an abstraction to be had here (with tweaks for each GPU).

 

Do you understand what this means? You're going to deliver a separate binary for each GPU architecture and version for both Android and Windows Phone? That makes no sense whatsoever. 

 

Not at all.  Why does one need a governing body to publish an open standard?  Just put it out there and let a community form around it.

 

That doesn't work. Look at what just happened with OpenSSL. Look at what Google does to standards it appropriates: it forked WebKit! That's no different than Microsoft's "embrace and extend" practice of taking Netscape and Java and making slightly incompatible versions it could then control.  

 

See above for the first part.  Cocoa came out of NeXT, and there are plenty of open specs related to the parts which make it up.  Look up the Cocotron project for an example of another implementation of Cocoa which works across platforms.

 

Android "came out of Java Mobile" too, but that doesn't mean they are compatible in any meaningful way. IE from the same Spyglass code as Netscape didn't solve compatibility issues for even the web browser. There is no cross platform Cocoa. There's not even full compatibility between distant versions of OS X!

 

So just make a small portion of the spec open (and leave a lot of the implementation details to the proprietary part).  That way you don't get bogged down in bureaucracy anytime you want to move forward.  Also, Apple could do the same thing they do with WebKit to keep things moving at the pace they need.

 

If what you describe were possible or functional, people would be doing that. Sounds a lot like Communism. Works great in the minds of intellectuals until they start tying to make it work, and the reality kicks in about how the real world works. 

post #69 of 94
Quote:
Originally Posted by ecs View Post
 

 

Nope. Microsoft didn't "beat" QuickDraw3D (Apple chose OpenGL rather than Direct3D for replacing QD3D, and not because it was "beaten", but because OpenGL was a industry standard that everybody needed to support).

 

Also, AltiVec wasn't "beaten" by anybody. It's just Apple who decided to drop it on their platform after having convinced all developers that they needed to use it if they wanted the best performance in Macs.

 

And Cocoa is not what I call "proprietary" (at least it's not what I call nonstandard). When something is so good you really need to use it, and besides you also have it on other platforms, I consider it's a standard.

 

We could go on arguing on this for a year. But then Metal and Swift will be stuff from the past and nobody will remember this WWDC (or at least these technologies).

 

QuickDraw 3D wasn't going anywhere after 3 years. GPU vendors weren't going to support it because Microsoft was getting all of the attention due to its overwhelming market power. That's why Apple dropped it. Nobody "needed" to support OpenGL. It was successfully dying due to Microsoft's efforts with Direct3D.

 

Apple didn't drop Altivec, it moved from PowerPC to Intel. Altivec is the brand name of PowerPC's implementation of SIMD. 

 

"Proprietary" does not mean "nonstandard," it means that its owned (and controlled) by a single party. There are plenty of proprietary standards, some of which are more or less "open" in terms of how easy or cheap they are to implement. H.264 is considered open rather than proprietary because everyone contributes to it except Google. But Google calls it proprietary because Google can't do whatever it wants with it or use it without licensing. USB and Lightning are both proprietary, but anyone can license them from Intel or Apple. MSFT Office is considered a standard for lots of businesses, but its only on the platforms Microsoft wants it to be.

 

Your notion of what words mean is not as important as what everyone else in the industry means when they use a particular word. 

 

I don't need to argue with you at all. I'm just pointing out facts. You are free to think whatever you like. 

post #70 of 94
Quote:
Originally Posted by daveinpublic View Post


As far as stating my opinion like its fact, I think that's something we all do, including you.

 

State your opinion as fact if you think it is. 

 

But don't tell other people what they think, because just because you can form a leap of logic doesn't mean you are right. And it's unfair to argue both sides of an argument. That's the idea behind attacking a strawman.

 

Yes, once Unity and other cross platform frameworks implement Metal, it will make Metal's A7 optimizations broadly available to developers, even those without the desire or resources to implement Metal on their own. 

post #71 of 94
Quote:
Originally Posted by Crowley View Post

Metal rock? Is that like hippity-hop?

Ya don't stop.
iPad a Dream.
Reply
iPad a Dream.
Reply
post #72 of 94
Quote:
Originally Posted by Flaneur View Post

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.

No.
iPad a Dream.
Reply
iPad a Dream.
Reply
post #73 of 94
Quote:
Originally Posted by Corrections View Post

State your opinion as fact if you think it is. 

But don't tell other people what they think, because just because you can form a leap of logic doesn't mean you are right. And it's unfair to argue both sides of an argument. That's the idea behind attacking a strawman.

Yes, once Unity and other cross platform frameworks implement Metal, it will make Metal's A7 optimizations broadly available to developers, even those without the desire or resources to implement Metal on their own. 

You mention that I'm attacking a straw man, I guess you're right cause you seem to be grasping at straws. We know Unity hasn't implemented it yet, that's because iOS 8 isn't out yet. Reading your article again, it says that you can either use Unity to target many platforms, or use Metal for great performance. I just wanted to make sure your readers knew that they can do both. I think they said unity is supporting metal right in the WWDC video. Many people here seem upset that apple would create a proprietary API that locks developers in, they probably got much of that from reading the article, which says: make games beautiful with Metal for iOS only, or use Unity and other sdk's. You may want to edit that portion of the article.
post #74 of 94
Quote:
Originally Posted by RichL View Post

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. 

While I'm not smart enough to argue if one solution or the other is superior in performance - I'd wager that Apple's HW/SW solution runs cooler and longer on a battery.
"That (the) world is moving so quickly that iOS is already amongst the older mobile operating systems in active development today." — The Verge
Reply
"That (the) world is moving so quickly that iOS is already amongst the older mobile operating systems in active development today." — The Verge
Reply
post #75 of 94

Apples forward thinking and consistent delivery of great products and better ways of doing thing is why I am proud to keep buying from them. How many other companies do this for their developers and customers? I think Apple is safe with Tim, all the naysayers should hopefully start to disappear.

 

I was thinking of updating my PS3 soon but I may just wait to see what comes out of Apple in September/October, looks like great things are about to come out of Cupertino and I want to be on that bandwagon.

post #76 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, 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.


Wouldn't you mostly be in a house with a large tv screen air playing the game? You know, where you can plug in or recharge your device. I imagine a significant amount of planning went in to minimize power wastage though, just like all apple portables.
Edited by macyourday - 6/16/14 at 5:32pm
post #77 of 94
Quote:
Originally Posted by daveinpublic View Post


You mention that I'm attacking a straw man, I guess you're right cause you seem to be grasping at straws. We know Unity hasn't implemented it yet, that's because iOS 8 isn't out yet. Reading your article again, it says that you can either use Unity to target many platforms, or use Metal for great performance. I just wanted to make sure your readers knew that they can do both. I think they said unity is supporting metal right in the WWDC video. Many people here seem upset that apple would create a proprietary API that locks developers in, they probably got much of that from reading the article, which says: make games beautiful with Metal for iOS only, or use Unity and other sdk's. You may want to edit that portion of the article.

 

Also read this paragraph: '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."

 

Nobody is getting the idea of a "proprietary API that locks developers in" from reading the article. Concern trolls are dragging that out on their own from their toolbox of cliche Apple complaints.

post #78 of 94

3D graphics are so complicated these days that most game developers use off the shelf engines rather than rolling their own. That has two implications:

1. Metal might very well be a success, because Apple does not need to convince many individual developers to switch to it, just a handful of 3D engine vendors. And they already had some of these guys on stage at WWDC.
2. Apple's goal can not be platform lock-in, since games are written to the engines, which can use DirectX, OpenGL, Mantel or Metal or whatever underneath.

 

Another type of software that makes heavy use of 3D APIs is CAD type programs, and they certainly don't use game engines. But it's the same deal: these programs are so technically complex to write, that there's only a few such companies making them. So Apple has a real chance of approaching them all one-on-one and selling the benefits of their API. Not that any such programs are moving to tablets any time soon, but in the long term maybe.

post #79 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.

Excellent observation!
post #80 of 94
Quote:
Originally Posted by SolipsismX View Post


Interesting.

Spock, is that you?

Why does Apple bashing and trolling make people feel so good?

Reply

Why does Apple bashing and trolling make people feel so good?

Reply
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