Hier geht es nicht um Gaming-Performance. Ich habe das alles sortiert, wenn ich in Windows boote.
Dies ist ein rMBP der Version 2012.
Die Frage bezieht sich auf den Versuch, von der OS X-Seite aus etwas mehr Kontrolle über die Hardware zu erlangen.
Während des Sommers läuft die Maschine bei typischer Nutzung, zum Beispiel beim Surfen im Internet, sogar beim Dekodieren von mp4/h.264-Videos (ohne Flash) usw. akzeptabel kühl. Ich habe mir neulich einen 1080p-Blu-ray-Rip angesehen. Gut verarbeitet.
Sobald ich jedoch mein externes 2560x1440-Display über einen MiniDP-zu-DL-DVI-Adapter anschließe, wird das Display nur verbunden, wenn die GT 650M eingeschaltet ist. Ich steuere mit gfxCardStatus , ob auf diese Nvidia-GPU umgeschaltet werden darf.
Das ist also in Ordnung, außer dass ich den Lüfter jetzt mit höheren Drehzahlen drehen muss ( natürlich über smcFanControl gesteuert) und selbst damit die Temperatur die meiste Zeit über 70 Grad C anzeigt. Es wird im Allgemeinen im Bereich der mittleren 50er bis unteren 60er Jahre liegen, wenn die integrierte GPU ausgeführt wird.
Ich weiß, dass dies keine sehr spezifischen Zahlen sind, aber der Punkt ist, dass die Maschine immer dann, wenn die Nvidia-GPU eingeschaltet wird, viel mehr Energie als Wärme erzeugt.
Laut einer App, die ich hier namens „ BatteryExpert “ habe, verbraucht sie rund 11 Watt bei integriertem und 19 Watt bei angeschlossenem zweiten Bildschirm.
Meine Frage ist also, wie kann ich die Taktrate der Nvidia-GPU sehen und wie kann ich sie in der Hoffnung, sie abzukühlen, anpassen, sie aber trotzdem aktiviert lassen? Ich brauche es, um es für den zweiten Monitor einzuschalten, aber es macht die Aluminiumoberfläche etwas zu warm für Komfort beim Tippen.
Ich kann Windows booten, um dort zB GPU-Z auszuführen, um die Uhren zu überprüfen, aber unter Windows ist mir keine App bekannt, die eine Leistungsaufnahme auslesen kann, daher ist es etwas schwierig zu bestätigen. (Ich denke, ich kann die Leerlauftemperaturen aber vergleichen.)
Es kann sich herausstellen, dass dieser ~8-Watt-Unterschied (der zu einem Temperaturunterschied von mehr als 15 Grad C und einem ähnlichen Unterschied auf der Aluminiumoberfläche führt) vollständig berücksichtigt wird, wenn der 650M auf der niedrigsten Leistungsstufe betrieben wird , da es immerhin ein ~50W Gerät ist. Ich bin mir nicht sicher, was ich denken soll. Einerseits sind 50 W bei 900 MHz unter Last, und hier sollten es ~ 165 MHz (was mir GPU-Z in Windows sagt) im Leerlauf sein.
Nun, ich bin an dieser Stelle ins Unkraut gegangen. Die Frage ist, was ist eine Überwachungssoftware, die mir die GPU-Uhren anzeigt? Als ich iStat Menus ausprobierte , wurden keine GPU-Uhren angezeigt.
Wenn Sie den MBP-Bildschirm nicht verwenden müssen, während Sie den externen Monitor verwenden, können Sie ihn mit einem kleinen Magneten deaktivieren.
Ein kleiner Magnet auf der linken Seite der MBP-Tastatur, mehr oder weniger über der Stelle, an der sich der SD-Kartenleser befindet, lässt vermuten, dass der Deckel geschlossen ist. Die GPU muss weniger Arbeit leisten, um nur einen Bildschirm (den externen) anzusteuern, und verbraucht weniger Strom, und bei geöffnetem Deckel ist der Luftstrom besser.
Ich verwende dies auf einem 2011er MBP, bei anderen Versionen muss der Magnet möglicherweise an verschiedenen Stellen platziert werden, damit er einen geschlossenen Deckel erkennt. Und wenn Sie dies versuchen, verwenden Sie bitte den kleinsten verfügbaren Magneten.
Nicht wirklich.
Zuerst möchte ich nur ein paar Dinge klarstellen, obwohl Sie sich dessen vielleicht bereits bewusst sind. Die integrierte Grafik kann in diesem Fall nur auf das verbaute Display zurückgreifen. Es kann physisch keinen Stream über DisplayPort ausgeben, es ist nicht so, dass der Chip dazu nicht in der Lage ist, es ist der Video-Switch-IC, der nicht mit Dual-Grafik-MBPs verdrahtet ist.
Wenn Sie also, wie Sie sagten, sowohl das eingebaute als auch das externe Display verwenden, müssen beide Karten funktionieren. Und wenn die diskrete Karte zu zeichnen beginnt, gibt es einen Anstieg des Stromverbrauchs und Ihr Gerät läuft heißer, wie Sie bemerkt haben. Und es würde noch heißer laufen, wenn Sie auch OpenGL/CL (und jetzt Metal) mit Apps verwenden.
Es sei auch darauf hingewiesen, dass ein wärmeres Gehäuse zwar bedeutet, dass es mehr Energie verbraucht, die Wärme jedoch wie beabsichtigt von den Karten weggeleitet wird. Unibody-Macbooks haben eine wirklich schlechte Belüftung.
Kommen wir also zur Frage: Nein, das ist unter macOS nicht möglich.
Ich denke, theoretisch wäre es möglich, wenn Sie irgendwie die Nvidia-Treiber in die Hände bekommen und Ihre eigene Version bauen würden, mit der Sie diese sehr niedrigen Einstellungen manuell anpassen können. Und dann würde ich mir vorstellen, dass Sie Ihre eigene Version von gMux rollen müssten, die wahrscheinlich die Energieverwaltung außer Kraft setzen würde.
Mein Rat wäre, dem Drang zu widerstehen, die Systemverwaltungsaspekte zu kontrollieren, da sie schließlich einen SMC mit seinen teuren Immobilien auf die Logikplatine Ihres MBP setzen. Lassen Sie es einfach seine Arbeit tun (was es in den meisten Fällen ziemlich gut macht), und wenn Sie sicher sind, dass Energie verschwendet wird, wäre der logische Ansatz, das Problem anzugehen, auf der Softwareebene. (Was auch immer Sie ausführen, ist möglicherweise nicht so optimiert, wie es sein könnte, und verbraucht mehr Ressourcen als nötig).
Ich denke , einige Tools , die Ihre Neugier bezüglich der Energieverwaltungsparameter zu einem bestimmten Zeitpunkt befriedigen könnten , könnten in den zusätzlichen Tools gefunden werden , die Apple auf seinem Entwicklerportal bereitstellt . (Möglicherweise müssen Sie sich für das kostenlose Entwicklerprogramm anmelden, ziemlich sicher, dass Sie keine kostenpflichtige Mitgliedschaft benötigen.)
Gehen Sie die Registrierungswerte durch, schauen Sie sich ein wenig um. Die Hardwareseite wäre so etwas wie IODeviceTree:/PCI?@?/P?P?@?
und die Firmwareseite so etwas wie IOACPIPlane:/_SB/PCI?@?/P?P?@?????
, mit unterschiedlichen Ziffern für die ? markiert. (Integriertes Video wäre IGPU unter dem PCI-Baum). Es sollte den "Power State" aus einer Reihe möglicher Werte herausstellen. Ich habe nicht zu tief gegraben und konnte den Taktmultiplikator nicht finden, aber er kann auch freigelegt werden.
Da meiner Meinung nach eine Steuerung auf dieser Ebene nicht sehr machbar ist, enthält das Bild der zusätzlichen Tools, wenn Sie sich die Softwareseite der Dinge ansehen möchten, auch einen OpenGL-Monitor, der Ihnen alle Informationen liefert, die mit dem derzeit verwendeten Treiber verfügbar sind. Dinge wie Anzahl der Shader, prozentuale Auslastung, GPU-Zeit, CPU-Zeit, die für das Warten auf die GPU aufgewendet wurde, usw.
Steven Lu