Question

My application links against these Frameworks:

Cocoa.Framework
AppKit.Framework
CoreData.Framework
Foundation.Framework

Note that OpenGL.Framework is NOT linked. However, after setting DYLD_PRINT_LIBRARIES=1, I note that:

...

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...

dyld: loaded: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...

...

This is a huge problem because, as noted on the [cocoa-dev list][1], the OpenGL framework causes the NVidia graphics card to power on for the newer MacBook Pros.

As expected, my application causes the NVidia card to power on. What's worse, is that the framework does not unload when the window is closed.

The only non-standard graphic elements I have are some custom NSBezierPath drawings and a shadow.

Essentially, when my app starts integrated graphics are used UNTIL the window is shown, and then discrete graphics are powered on and remain on regardless of the window state.


ANSWER

For an NSView with NSBezierPaths OR clear backgrounds, make sure to set: [myView setWantsLayer:NO]

Was it helpful?

Solution

I'd say you user a feature that requires Cocoa to load OpenGL. Like CoreAnimation, or any fancy UI stuff. Are you showing videos in your app? Might be the reason.

Does the same thing happen on a brand-new example project that links to the same frameworks?

OTHER TIPS

Also - it seems that Apple has added support for allowing your app to try to run on the integrated graphics card.

NSSupportsAutomaticGraphicsSwitching to true will help for 2011 (and later?) macbooks.

http://developer.apple.com/library/mac/#qa/qa1734/_index.html%23//apple_ref/doc/uid/DTS40010791

You have to test your app with this setting.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top