Battery and High Performance GPU

What would cause a Xojo app to start using the High Performance GPU on Mac OS?

If you open Activity Monitor, Energy, you’ll see some apps (like iPhoto) use the GPU. What activities would cause this in a Xojo app?

AFAIK CoreImage and if you specify it in the plist… I forget the exact name of the key, but it’s listed in App wrapper.

… and according to this article some advanced graphics controls that your app may use will automatically activate the high performance GPU:
http://arstechnica.com/apple/2010/04/inside-apples-automatic-gpu-switching/

(Excerpt: Apps that use advanced graphics frameworks such as OpenGL, Core Graphics, Quartz Composer or others will cause the OS to trigger the discrete GPU.)

MBS Plugin has CoreImage and OpenCL available for your projects :slight_smile:

Ah and we can show Quartz Compositions using QCViewMBS class.

So, it shouldn’t come on in normal operations of the canvas, UI, etc?

In Feedback case 24784 I documented a case where a customer reported that showing an OpenDialog could fire up the discrete graphics card in his MacBook Pro. Weird, eh?

From memory (which is shoddy at best, in my case), I seem to remember that using OpenDialog.ShowModalWithin would trigger this but OpenDialog.ShowModal didn’t. I might have invented that memory, though.

Thanks for all the info everyone.

I see that modal show within increases the energy impact by about 3-4x while shown but doesn’t kick in the GPU.

If I can figure out why my app rarely wants GPU access, I’ll let you know!

Stephen, did you read this: https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/QuartzDisplayServicesConceptual/Articles/Notification.html#//apple_ref/doc/uid/TP40004235?

And did you try to set NSSupportsAutomaticGraphicsSwitching to false in your plist?

Does NSSupportsAutomaticGraphicsSwitching get flagged on by default?

Oh, if I understand correctly you need to set it to true instead:
http://zacwe.st/blog/rdio-discrete-card/
The app that is linked there could help you find out what triggers the graphics card. It sends notifications on changes, so together with some step-by-step debugging …