Мое приложение связывается с этими Каркасами:
Cocoa.Framework
AppKit.Framework
CoreData.Framework
Foundation.Framework
Обратите внимание, что OpenGL.Framework НЕ связан.Однако после установки DYLD_PRINT_LIBRARIES = 1 отмечу, что:
...
dyld: загружен: /System/Library/Frameworks/OpenGL.framework/ Версии / A / OpenGL
dyld: загружено: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...
dyld: загружен: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...
dyld: загружен: / System / Library / Frameworks/OpenGL.framework/Versions/A/Libraries/...
dyld: загружен: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...
dyld: загружен: /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/...
...
Это огромная проблема, потому что, как отмечено в [список какао-разработчиков] [1], платформа OpenGL заставляет графическую карту NVidia включаться для новых MacBook Pro.
Как и ожидалось, мое приложение вызывает включение карты NVidia.Что еще хуже, фреймворк не выгружается при закрытии окна.
Единственные нестандартные графические элементы, которые у меня есть, - это несколько пользовательских рисунков NSBezierPath и тень.
По сути, когда мое приложение запускает интегрированную графику, используются до тех пор, пока не отобразится окно, а затем включится дискретная графика, а останется включенным независимо от состояния окна.
ОТВЕТ
Для NSView с NSBezierPaths ИЛИ очистить фон, обязательно установите: [myView setWantsLayer: NO]