Gibt es eine Möglichkeit, eine Java-Anwendung dazu zu bringen, die integrierte und nicht die diskrete GPU auf einem Mac zu verwenden?
(Ich bin an Möglichkeiten interessiert, eine App zu verschicken, die den Mac des Benutzers nicht in den diskreten Modus versetzt, anstatt im integrierten Modus für alle Anwendungen auf meinem eigenen Laptop zu sperren, wie es gfxCardStatus tut.)
Leider ist das, was Sie wollen, nicht möglich mit Java 7.
Einige Quellen aus dem Internet:
Sie haben bereits gfxCardStatus erwähnt, aber das scheint der einzige Weg zu sein
Theoretisch können Sie OpenGL-Unterstützung deaktivieren, dies ist jedoch nicht der Fall Genug, um Java nicht zu aktivieren, benötigt es diskrete Grafiken. Es scheint, dass im Rahmen der Evaluierung, ob OpenGL verwendet werden soll oder nicht, die GPU kitzelt und der Mac entscheidet, dass er die diskrete GPU für die Lebensdauer dieser Anwendung hochfeuern muss.
bearbeiten: Es scheint, dass nicht einmal gfxCardStatus verhindere den Switch nicht mehr .
Es gibt eine spezielle Option, die in der Datei Info.plist des Startprogramms der Anwendung angegeben werden muss:
%Vor%Dies gibt einer Java-Anwendung die Möglichkeit, die integrierte Karte zu verwenden. Ansonsten verwendet das System standardmäßig die diskreten Grafiken. Leider ist diese Option nicht in der Standard-JVM-Distribution von Oracle enthalten.
Ich hatte ein ähnliches Problem unter Mac OS X 10.11.6 (15G1108) mit der Arduino (Java-basierten) App, immer mit der leistungsstarken (externen) Grafikkarte.
Der Hinweis auf Thomas führt mich schließlich zu Arduinos Info.plis-Eintrag <key>NSHighResolutionCapable</key>
, der ursprünglich auf <true/>
gesetzt wurde. Wenn ich es auf <false/>
setze, startet Arduino mit der integrierten Grafikkarte und reduziert den Stromverbrauch auf meiner Macbook Pro Retina drastisch!
(Java 8-Update 111, Arduino 1.6.12)