Raven Ridge Mobile (mit Vega 8 und 10) ausreizen per TDP override

NDschambar

Lt. Junior Grade
Registriert
Aug. 2017
Beiträge
380
Ich habe mich ein wenig mit der Materie beschäftigt, weil ich nun selbst Besitzer eines Envy x360 13" mit R5 2500U und 16Gbyte RAM bin.
Leider beschneidet HP das Gerät unnötigerweise sehr stark in der TDP / STAPM auf 15W im Normalmodus und 20W im Leistungsmodus. Das Kühlsystem kann aber bei mir mit einigen Mods auch bis zu 35W dauerhaft abführen. Dann schaffe ich 3.700-3.900 Punkte im 3D Mark 11 und ~3650 Score im Resident Evil 6 Benchmark. statt ca. 2400 bzw. 2600 in 3DM11 / RE6. In Witcher 2 macht das bei 1080p low den Unterschied zwischen kaum (20fps) und gut spielbar aus (30+ fps).
Den Grund kennt wohl nur HP, Verschwörungstheoretiker könnten sogar intel dahinter vermuten, da die Envys mit Intel CPUs eine deutlich höhere TDP erlauben.

Hier folgt ein Guide, wie man das Maximum aus seinem Ryzen Mobile herauskitzeln kann. Ganz wichtig: Ihr tut alles Folgende auf eigene Gefahr und weder ich noch Computerbase können für etwaige Schäden haftbar gemacht werden. Meiner Erfahrung nach der Vorgang aber angesichts der immer noch vertretbaren Temperaturen und der nach wie vor greifenden Hardwaresicherheitsfeatures wie Throttling sehr sicher.

Benötigte Tools:
  • HP Command Center (Nur im US Windows Store hier)
  • AMD uProf zum Anzeigen der Power Limits und Frequenzen (hier)
  • RyzenAdj zum Ändern der vom EFI gesetzten Power Limits (hier)
  • ein paar Benchmarktools wie den 3D Mark oder Stresstester wie OCCT
  • optional, aber sehr empfehlenswert: Notebook Fan Control, dass eine wesentlich bessere Lüftersteuerung bietet, die das Laptop im Alltag fast lautlos macht (hier)
Guide
Vorbereitung
Zunächst sollte man im Command Center den Leistungsmodus wählen (dieser erhöht die Basis TDP auf 20W). Dann entpackt man RyzenAdj in einen Ordner und führt das GUI Tool aus. Wenn man die Werte eingestellt hat, kann man das Kästchen "Autostart" setzen, worauf ein .bat File im gleichen Ordner angelegt und automatisch beim Systemstart ausgeführt wird. Alternativ kann man auch eine Batchdatei mit dem folgenden Inhalt anlegen:

PowerShell:
%~dp0\ryzenadj.exe --stapm-limit=35000 --fast-limit=35000 --slow-limit=25000 --tctl-temp=90 --vrmmax-current=200000

Dieser enthält von mir als stabil getestete Werte in Zusammenarbeit mit einem auf 68°C Zieltemperatur angepassten Notebook Fan Control Profil.

Notebook Fan Control einrichten
Nun führt man nach der installation von NBFC dessen "Config Editor" aus, lädt das passende Profil (bei mir "HP ENVY x360 Convertible 13-ag0xxx"). Dann stellt man die Zieltemperatur auf 68°C ein und speichert unter einem anderen Namen. Anschließend nur noch NBFC selbst starten, dort das gerade erstellte Profil laden und den Service auf "Enabled" stellen. Nach einem Neustart ist das Profil aktiv und man staunt, wie leise und selten der Lüfter nun läuft.

Power Limit setzen und testen
Das für RyzenAdj erstellte Batchfile kann man per Rechtsklick ("Als Administrator ausführen") starten und bei laufendem AMD uPROF Temperaturen, Taktfrequenzen und Power Limits während der Benchmarks und Stabilitätstests mit OCCT (Power Supply Test) prüfen. Wenn man das Power Limit zu hoch treibt, sodass die Kühlung nicht nachkommt, setzt das EFI das Power Limit auf einen niedrigen Wert zurück. Gleiches gilt nach Neustarts, daher kann man das Skript beim Start automatisch ausführen lassen, z.b. als geplantem Task.

Ergänzende Infos
Es gibt noch eine weitere Methode, die Leistungswerte im DSDT des EFI einzutragen, ich werde testen und schreiben, ob diese dann permanent gültig sind. Außerdem habe ich gelesen, dass die von HP verwendete Wärmeleitpaste minderwertig ist und sich durchaus um 10-15°C tiefere Temperaturen durch ein Repaste erzielen lassen. Auch hier werde ich berichten.

Viel Erfolg beim Nachmachen,
NDscham

[EDIT1,2,4,5: Nachtrag verschiedener Benchmarkergebnisse]
RT: Raumtemperatur, ST_f: STAPM fast limit, ST_l: STAPM slow limit

Radeon 19.6.2, HP Envy 13 x360 R2500U, FW.35 F.25°C RTST_f,l: 12-15W (Default@Akku)ST_f: 20W, ST_l: 17WST_f: 25W, ST_l: 20WST_f: 35W, ST_l: 25W, drosselt nach kurzer ZeitST_f: 35W, ST_l: 25W, Akku, erzwungen m. PythonST_f: 45W, ST_l: 45W, Akku, erzwungen
3DMark Score240128363634360036883825
Graphics Score242027663628361837183917
Physics Score367443334392410241563994
Combined Score152321392919295530003087
Graphics Test 116.14 fps11.92 fps16.28 fps16.16 fps16.68 fps17.92 fps
Graphics Test 216.23 fps12.91 fps16.55 fps16.75 fps17.07 fps17.64 fps
Graphics Test 311.19 fps17.94 fps22.24 fps22.38 fps22.77 fps23.16 fps
Graphics Test 45.98 fps8.66 fps11.53 fps11.37 fps11.77 fps12.63 fps
Physics Test11.66 fps13.76 fps13.94 fps13.02 fps13.19 fps12.68 fps
Combined Test7.08 fps9.95 fps13.58 fps13.75 fps13.95 fps14.36 fps

[EDIT3: Python-Script, uProf Graph]
Da das UEFI die STAPM-Einstellungen nach kurzer Zeit (beim Erreichen von 75°C) hart auf bis zu 12W absenkte, habe ich ein kleines Pythonskript geschrieben, dass den Befehl zum Setzen der STAPM wiederholt alle 3 Sekunden ausführt. Bitte als ".py" im gleichen Ordner wie ryzenadj.exe ablegen und z.B. über "py skript.py" ausführen. Die Kommandozeilenausgabe wurde unterdrückt.

Man kann die Wirkung des Skriptes auf STAPM und Temperatur beim 3D-Mark Lauf im folgenden Graphen sehen:
793762



Python:
import time
import os

while True:
    # Führe Ryzenadj alle 3 Sekunden aus
    os.system("ryzenadj.exe --stapm-limit=35000 --fast-limit=35000 --slow-limit=25000 --tctl-temp=90 --vrmmax-current=200000 > NUL")
    time.sleep(3)
 

Anhänge

  • 35W+25W_Python_script.png
    35W+25W_Python_script.png
    73,2 KB · Aufrufe: 613
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: frajen, VanBommel0617, MarcelGX und 11 andere
ich würde etwas aufpassen mit der iGPU. Bei meinem ITX Board (MSI) kann ich den 2200G auf GPU Seite OC nicht wirklich weit übertakten da die ganze Versorgung oftmals zu 90% auf CPU Part und nicht iGPU Part ausgelegt ist. Dieser hat nur 2 ungekühlte Phasen und läuft schon auf minimalstem OC mit 110 °C Wandlertemperaturen. Ich bin erst drauf gekommen als mir das System regelmäßig hängen geblieben ist (bei lediglich 1.125V iGPU). Und das heißt dann 125°C und freeze. HWInfo liefert die Temps bei mir versteckt, die MSI eigenen Tools oder das Board im Bios leider nicht :)

Also zumindest wenn das System mal hängt im Hinterkopf haben und lieber zu wenig als zuviel vGPU ansetzen, sofern sich diese modifizierne lassen.
 
Daran habe ich auch schon gedacht. Allerdings drosselt das EFI die APU auf 15W (Akku) bzw 20W (nur Leistungsmodus am Netzteil), bevor es zu Problemen kommen kann. Ich hatte auch noch nie einen Absturz oder Freeze, trotz 30min OCCT Volllast.

Zudem hat der 2200G 65W TDP, da bin ich mit den 25W settings oben weit entfernt :D
 
Ich habe die Tage mal etwas mit RyzenADj bzw dem GUI-Tool Ryzen Controller 1.10 herumgespielt...

AMD uProf zeigt für mein Elitebook 745 mit R7 2700U folgende TDP Werte an: 18W, (Slow) Power 25W und High (Fast) Power 30W an, das sorgt für 1047 Punkte im Cinebench R20.

In der Tat taktet die APU bei Start von Cinebench für ca 5-10 Sekunden so hoch das sie die 35W auslastet, danach gehts runter auf 25W und nach 3:45min gings auf 18W runter. Die APU Temp war aber nicht ausschlaggebend, denn die war bei konstant 54 Grad, bis er dann auf 18W drosselte.

Mit Ryzen Controller habe ich nun die beiden unteren TDP Limits auf 30W, 35W und schlussendlich beide auf 45W gesetzt das kurzfristige TDP Limit auf 51W.

Das Ergebniss ist dann wie erwartet... 5-10 Sekunden läuft die APU mit knapp unter 50W danach den ganzen Benchmark durch mit 45W, was in einem Wert 1471 resultiert. Normal tauglich ist das dann weniger, denn ich habe eine Eiskompresse aus der Apotheke unter das Aluchassis gelegt, das die Temperatur der APU bei 75 Grad hielt.

Läuft die APU in das selbsteingestellte Temp-Limit (85 Grad) dann drosselt sie natürlich.

Bei 45W laufen alle 4 Cores mit konstant 3.6 GHz und 3.8 GHz Max.

Was einem das bringt oder nicht, muss jeder selbst entscheiden. Ich brauche es eigentlich nicht :-)

Zu testen ob man durch geschickte Einstellungen auch die Akkulaufzeit erhöhen kann, dauern natürlich länger... mal schaun
Ergänzung ()

Und Danke an den Threadersteller für die vielen Hinweise
 

Anhänge

  • Cinebench R20 - R7 2700U 45W.PNG
    Cinebench R20 - R7 2700U 45W.PNG
    23,5 KB · Aufrufe: 685
  • Gefällt mir
Reaktionen: MarcelGX und NDschambar
Shearer schrieb:

Vielen Dank für deinen ausführlichen Beitrag! Was für ein Gerät hast du verwendet? So hoch wie du ließ mich die UEFI des Envy 13 leider nicht gehen. Ich glaube aber auch nicht, dass es diese Mengen an Wärme noch brauchbar abführen könnte. Eine Senkung des Power Limits wäre allerdings für längere Akkulaufzeiten durchaus sehr interessant. Vielleicht auch in Kombination mit Undervolting. Damit werde ich mich bei nächster Gelegenheit etwas näher beschäftigen.

Über die Methode mit dem Notebook Fan Control Utility (s.u.) läuft das Laptop im Alltag immerhin laut- und lüfterlos - bisher absolut stabil und ohne Probleme. Wird es doch mal wärmer, läuft der Lüfter auch wieder an. Bisher absolut praxistauglich.

Ich habe neulich die UEFI-Version F20 eingespielt, diese scheint den Krawalllüfter auch ohne NBFC etwas einzubremsen - allerdings nie bis zum Stillstand.

LG,
NDscham
 
Ist ein HP Elitebook 745 G5 mit Ryzen R7 2700U. Habe allerdings mit Flüssigmetall die Kühlung optimiert und zudem mit Wärmeleitpads eine Verbindung zwischen Heatpipe und Aluchassis hergestellt.

Ziel sollte allerdings ein möglichst leises System sein. Die Tests mit Ryzen Controller waren nur aus Spieltrieb und auch nicht praxistauglich. Ohne richtiges Undervolten, wird es glaube ich ehrer schwierig, die Kisten sparsamer zu bekommen.
 
Ich habe den Initialpost um weitere Erkenntnisse ergänzt. Das UEFI setzt ohne Druck (Temperaturen um die 60°C) die STAPM auf 12W (!) ab, daher habe ich ein Pythonskript geschrieben, dass ryzenadj mit unterdrückter Ausgabe alle 3 Sekunden ausführt. Das Resultat sind erheblich höhere Leistungswerte, auch im Akkubetrieb.
Eine zweite Drosselung setzt ab ca. 75°C ein, diese erscheint mir eher akzeptabel.

Es drängt sich der Eindruck auf, das HP aktiv die Leistung der AMD-APUs beschränkt, vielleicht, um die Intel-CPUs besser dastehen zu lassen. Aus welchen Gründen auch immer, ich bin sehr enttäuscht über diese Praxis.

[EDIT:] Ich habe auch mal 45W/45W STAPM fast und slow ausprobiert (s.o.). Dafür habe ich das Laptop auf Kühlakkus gelegt - wenig praxisgerecht also. Trotzdem lagen die Benchmarkresultate unter denen bei 30W/25W (Resident Evil 6: 2875 vs 3643 Punkte).
Die Einstellungen für den RE6:Benchmark waren für alle Läufe wie folgt:
793768
 
Zuletzt bearbeitet:
Es gibt übrigens mittlererweile eine neuere und einfachere Version von Ryzen Adj. Names Ryzen Controller

@SV3N Wären @NDschambars Ergebnisse nicht mal eine Erwähnung auf der Mainpage wert?
 
  • Gefällt mir
Reaktionen: Asghan, SVΞN, NDschambar und eine weitere Person
Ned Flanders schrieb:
Es gibt übrigens mittlererweile eine neuere und einfachere Version von Ryzen Adj. Names Ryzen Controller

@SV3N Wären @NDschambars Ergebnisse nicht mal eine Erwähnung auf der Mainpage wert?

Vielen Dank für den Hinweis und die Nominierung ;-)
Ich werde demnächst RyzenController näher anschauen. Zumal auch wieder ein neues UEFI erschienen ist. Ich vermute, es ist vor allem ein GUI-Frontend für RyzenAdj, vielleicht ersetzt es aber die Notwendigkeit für mein Pythonskript.
Die neuen Ergebnisse kommen dann in den ersten Beitrag.
 
Zuletzt bearbeitet: (orthographie...)
  • Gefällt mir
Reaktionen: MarcelGX, Filippo, SVΞN und eine weitere Person
Zurück
Oben