18 comments

[ 3.4 ms ] story [ 43.8 ms ] thread
Discrete, not discreet. I had a lot of trouble parsing that sentence (oh, so the status bar application has flashy graphics by default and OS X somehow forces it to have less flashy graphics?) before I realized what the title meant.
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.

I clearly understand this, the point is that Apple choosing to use discrete for all apps that may slightly use core image for example is overkill...
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...

THIS, is the issue.

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!"

That's essentially correct.

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.

EDIT: Et voilà: http://twitter.com/getcloudapp/status/12815742863

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.

AFAIK there's no public API for putting icons in the menu bar, so it's not surprising that an app doing something hacky causes problems.
I'd like to be clear right now what this article is about. It's about Apple's choice to get frameworks such as Core Image and OpenGL to direct which graphics card the Mac should use, and how by doing this, there have been some unusual cases whereby some applications cause the dedicated graphics card to be enabled, and continue to be enabled. This leads to a detrimental effect on battery life which is the exact opposite for putting this in place. With this in mind... read on.
Sometimes I think Apple just jumps out of a moving train. For example it isn't possible to turn off the notebook display and only keep the connected monitor/projector active. Or, if you wake it with the lid closed to turn on the (notebook) display at a later time without disconnecting the external display.

Same with this. I can understand why they do the switching the way they do it, but where is the harm in putting a "Don't use discrete graphics" option in the Energy-Saver menubar drop-down menu? If they believe their customers are that stupid display a dialog box warning them, with the option to never show it again.

You can use a Macbook in closed-lid mode to use only an external display. Also, if you open the lid afterwards, you can hit 'detect displays' to wake up the internal display. No reconnecting necessary.
> You can use a Macbook in closed-lid mode to use only an external display.

Yes, but this requires an external keyboard, a connected power outlet and putting the system to sleep.

Thanks about the 'detect displays' button, though still the key for switching mirror/extend mode should do that without requiring me to go into settings (or have the menubar item active).

I also read that having X11 running apparently switches to the discrete GPU. Now, I have no idea why it would do that (GLX extension?) but that kind of sucks given that I spend essentially 100% of my time in an xterm. (If anything, X11 graphics is so slow anyway that I don't see the point of ever switching to the discrete GPU for its sake.)

Really, Apple needs to fix this. If the application requires < x resources, or if the frame drawing time is < y, then stick with integrated graphics regardless of API used.

Why run X11 just for an xterm instead of just using Terminal?