2010-10-29 3 views
2

Mes liens d'application contre ces cadres:Prévenir OpenGL.framework de Chargement à Cocoa App

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

Notez que OpenGL.Framework est PAS lié. Cependant, je note après avoir réglé DYLD_PRINT_LIBRARIES = 1, que:

...

dyld: chargé:/Système/Bibliothèque/Frameworks/OpenGL.framework/Versions/A/OpenGL

dyld: chargé:/système/Bibliothèque/Frameworks/OpenGL.framework/versions/A/bibliothèques/...

dyld: chargé:/système/Bibliothèque/Frameworks/OpenGL.framework/Versions/A/Bibliothèques/...

dyld: chargé:/Système/Bibliothèque/Frameworks/OpenGL.framework/Versions/A/Bibliothèques/...

dyld : chargé:/système/Bibliothèque/Frameworks/OpenGL.framework/versions/A/bibliothèques/...

dyld: chargé:/système/Bibliothèque/Frameworks/OpenGL.framework/versions/A/Bibliothèques/...

...

Ceci est un énorme problème parce que, comme il est indiqué sur la [liste cacao-dev] [1], le cadre OpenGL provoque la carte graphique NVidia pour alimenter sur les nouveaux MacBook Pros.

Comme prévu, mon application provoque la mise sous tension de la carte NVidia. Ce qui est pire, c'est que le framework ne se décharge pas quand la fenêtre est fermée.

Les seuls éléments graphiques non standard que j'ai sont des dessins personnalisés de NSBezierPath et une ombre. Essentiellement, lorsque mon application commence à utiliser des graphiques intégrés jusqu'à ce que la fenêtre s'affiche, puis que les graphiques discrets soient activés et que restent sur, quel que soit l'état de la fenêtre.


RÉPONSE

Pour un NSView avec NSBezierPaths ou arrière-plans clairs, assurez-vous de définir: [myView setWantsLayer: NO]

+0

Veuillez modifier votre question pour inclure la sortie de cette commande: 'otool -l CHEMIN/VERS/VOTRE/APP/Contenu/MacOS/VOTRE_EXECUTABLE | grep -F framework' (C'est l'option dash ell de 'otool':' l' pour les commandes de chargement.) –

Répondre

1

Je vous dis utilisateur une fonction qui nécessite cacao charger OpenGL. Comme CoreAnimation, ou n'importe quel truc de l'interface utilisateur. Affichez-vous des vidéos dans votre application? Peut-être la raison.

Est-ce que la même chose se produit sur un exemple de projet flambant neuf lié aux mêmes frameworks?

+0

Peut-être que vous avez activé "couche d'animation de base" sur n'importe quelle vue dans le constructeur Interface par accident? –

+0

Max - vous avez eu raison de CoreAnimationLayer !! Merci beaucoup. –

Questions connexes