Apple isn't "using discrete graphics for that app", Apple is using discrete graphics for a given set of APIs which CloudApp is using to do something. Did they need to do it that way? Maybe, maybe not, but the onus is on the application developer, not Apple. It's not like Apple has some master list of applications that use discrete graphics, it kicks in on certain API calls.
Silly little rants like this, where someone doesn't quite understand the way a system works and so blames the wrong provider; these things are the reason for Apple's crazy draconian SDK terms. Imagine a similar situation on the iPhone: "Waa, Apple killed my battery life when I run this application at boot!" 10 million retweets later, Apple is having to explain some third party application's deficiencies, and it could very realistically effect their bottom line.
No, they are. They decided, for no goddamn good reason, to switch on the discrete graphics chip when certain APIs were called, after doing a whole lot of work for years and years to encourage the use of said APIs.
AMD is doing this the right way- turn it on when you plug in, and let users toggle the thing manually. Optimus seems like an interesting compromise. But API sniffing is ridiculous, because 3D != Intensive 3D That Must Be Fast.
exactly... The idea is great, but needs more thought, because as you rightly suggest, not all 3D graphics = intensive, and not all types of app (ie status bar apps doing nothing) require discrete graphics card switch on 100% of the time...
It's a maintenance issue for the driver folks though. 2 OpenGL drivers with subtly different behavior and sets of bugs means at least twice as many headaches if you want to keep things looking the same.
I don't think the AMD way is necessarily the "right" way. What Apple needs to do is add more options. Make the options part of the power control applet. You should be able to have different settings based on plugged in/not plugged in, API usage, integrated/discrete always on/off, etc...
IMHO, a combination of Apple's way and AMD's way is the right way.
10 million retweets later, Apple is having to explain some third party application's deficiencies
How is it a "deficiency" in CloudApp? OS X guessing at whether to use the discrete or integrated GPU is a completely new feature in the new laptops, and the CloudApp developers would have had no way of knowing how they would have been affected.
"Waa, Apple killed my battery life when I run this application at boot!"
It wasn't at the time of release, but now it is a deficiency in CloudApp, and the developer will no doubt work with Apple (or with Apple's documentation) to resolve the issue. The app is taxing the new hardware that it didn't see before, which couldn't be avoided, and is OK – as long as an update is planned and forthcoming that fixes that.
And you've got it backwards, I think. Apple just improved on battery life with the new hardware, through a new and automatic feature. It may not work optimally everywhere yet, but that's something that will get sorted out in a short while.
"[…]How quickly he thinks the world owes him something he didn't even know existed 10 seconds ago[…]" —Louis C. K.
Apple can and should do many things to improve the automatic switching. If you want them to get that message many little rants appearing all over the internet can help.
Doing graphics switching automatically is certainly the way it should be done – but Apple might not be quite there yet. That’s no surprise, it’s pretty new after all. No reason not to rant, though.
Silly little rants like this, where someone doesn't quite understand the way a system works and so blames the wrong provider; these things are the reason for Apple's crazy draconian SDK terms. Imagine a similar situation on the iPhone: "Waa, Apple killed my battery life when I run this application at boot!" 10 million retweets later, Apple is having to explain some third party application's deficiencies, and it could very realistically effect their bottom line.