Energiesparpläne ohne Funktion

Gorasuhl

Commander
Registriert
Mai 2021
Beiträge
2.087
1. Nenne uns bitte deine aktuelle Hardware:
  • Prozessor (CPU): Ryzen5 5600X
  • Arbeitsspeicher (RAM): 2x Crucial BL16G32C16U4R
  • Mainboard: ASUS Prime B550-Plus (BIOS: 2006, Chipsatztreiber V2.11.26.106)
  • Netzteil: Enermax ERV850EWT-G
  • Gehäuse: Chieftec Mesh CA-01B-B-AL
  • Grafikkarte: Evga GTX670 Sig2 (Treiber: 466.27)
  • HDD / SSD / DVD:
    • OS, Spiele: 500GB, Samsung 860 Evo
    • QT, MATLAB: 120GB, Intel 520
    • Daten, Sicherungen: 2TB WD Green (WD20EARX)
    • 2TB Seagate Barracuda (ST2000DM001)
    • DVD: Plextor PX-891SA
  • Soundkarte: Creative SB-Z (Treiber und SB Command sind aktuell)
  • Lautsprecher: Logitech Z5500 (S/PDIF via Toslink, DDL für Mehrkanal PCM Anwendungen, Filme/Serien mit DD oder DTS Spuren via Paththrough mit dem VLC-Player)
  • Tastatur: Logitech G19 (Gaming Software V9.02.65)
  • Maus: Razer Naga 2014 (Synapse 2.21, angeschlossen am Hub der Tastatur)
  • OS: Windows 10 Edu 20H2

2. Beschreibe dein Problem. Je genauer und besser du dein Problem beschreibst, desto besser kann dir geholfen werden (zusätzliche Bilder könnten z. B. hilfreich sein):

Ursprünglich war und ist mein Problem, dass ich im Spiel "A dance of Fire and Ice" einen hohen und schwankenden input Lag habe. Zudem sind immer mal zufällig einzelne Eingaben leicht verzögert (siehe: Hohe Latenz bei Audioausgabe).
Der Input Offset schwankt zwischen 340 und 390ms. Mir ist bewusst, dass DDL für die Latenz nicht förderlich ist, mir ging es auch eher um die rund 70ms Differenz zwischen Win7/8.1 zu Win10. Da der Entwickler für Win 10 gegenüber Win7/8.1 schon höhere Basisewerte nutzt nehme ich mal an, dass das Problem Win10 geschuldet ist. Da der Wert statisch ist, stört der mich eigentlich auch eher weniger. In den meisten Anwendungen kann ich den Offset anpassen.

Hauptproblem sind die zufälligen leichten verzögerungen (Perfekter Hit wirdLPerfect oder Late) und der schwankende input lag.

In dem Ursprünglichen Thread (Hohe Latenz bei Audioausgabe) hatten wir mit LatencyMon festgestellt, dass das System hin und wieder einige 1ms Spikes hat und ein ändern der Power-Settings von Windows hatte auf die Werte keinen Einfluss. Da das Problem wohl irgendwo zwischen CPU und OS liegt wurde mir geraten in dieser Sektion einen neuen Thread zu eröffnen.

Mit dem Ryzen Master habe ich dann festgestellt, dass auch im Modus "Höchstleistung" immer 5 der 6 Kerne geparkt werden und über die P-States der übrige immer noch bis auf's Minimum von um die 290-300Mhz herunter regelt. An den Energiesparplänen habe ich nur das selektive USB-Sparen deaktiviert und die Zeiten zum Bildschirm/Festplatten abschalten angepasst.

Das sollte eigentlich nichts mit dem Problem zu tun haben, ich erwähne das vollständigkeitshalber trotzdem mal. Da ich den Ruhezustand nicht verwende und ich den dafür reservierten Arbeitsspeicher freigeben wollte, habe ich die Funktion über die Kommandozeile deaktiviert (glaube das war mit "powercfg /h off" oder "powercfg /hibernate off").

3. Welche Schritte hast du bereits unternommen/versucht, um das Problem zu lösen und was hat es gebracht?

Ich habe im BIOS "Global C-States Control = Enable" und " Power Supply Idle Mode = Low Current Idle" gesetzt. Die einzige Funktion die ich deaktiviert habe ist der "Asus Power Enhancer". Ich habe zum Testen schon die Werte einzeln und gesamt wieder auf 'Auto' gesetzt, brachte aber keine Änderung.
Ansonsten habe ich im BIOS nur DOCP aktiviert um das XMP Profil zu nutzen, Lüfterkurven angepasst und die Bootmedien eingestellt. Alle sonstigen Parameter sind unverändert.

Ich habe von der AMD Webseite den aktuellen Chipsatztreiber installiert. Das brachte keine Verbesserung, hingegen sogar eine Verschlechterung, da die Spikes in LatencyMon von 1ms auf rund 3ms angestiegen sind. Daher habe ich wieder die etwas ältere Version von der ASUS Webseite installiert.


Um die normale Funktion zu testen habe ich Cinebench R15 bzw. Prime95 genutzt. Dabei taktet die CPU alle 6 Kerne auf den 4,6Ghz Boost-Takt und anschließend werden diese wieder geparkt bzw. runter getaktet. Also der übliche Betrieb klappt so wie gewollt. Nur die Energiesparpläne scheinen keine Auswirkung auf die C bzw. P States zu haben.


Über die Suchfunktion habe ich so direkt leider nichts gefunden. Die Probleme anderer Nutzer sind so ziemlich das Gegenteil von meinem Problem, dass die C- bzw. P-States nicht richtig ausgeführt werden und die CPU nicht runtertaktet bzw. Kerne nicht parkt.
 
Wo ist das Problem?

Laggt dein System?

Oder was willst Du konkret?

Spielprobleme oder Anwendungsprobleme?
 
Das Grundsätzliche Problem sind die Latenzschwankungen und vereinzelte Spikes im Spiel. Wärend der Fehlersuche sind wir in dem anderen Thread darauf gestoßen, dass die Energiesparpläne von Windows keine Auswirkungen auf die Energieverwaltung (C- und P-States) der CPU haben.

Sichtbare Lags habe ich nicht, Störungen der Audioausgabe auch nicht.

Ich würde gerne erstmal das Problem mit der Energieverwaltung beheben um das als mögliche Fehlerquelle ausschließen zu können. Konkret, dass ich den Modus Höchstleistung oder einen eigenen Plan mit, gegenüber Höchstleistung, leicht reduziertem mindest Leistungszustand wie gewohnt nutzen kann.
 
Ich würde sagen, dass die Energieverwaltung kein Problem hat. Die sollte auf ausgeglichen bleiben und fertig.

Das liegt höchstwahrscheinlich an irgendwelchen Treibern - die sollten also neu installiert werden. Insb. vielleicht mal die Logitech Gaming Software weglassen.

Ansonsten sind 1Ms Unterschiede mmn keine “Spikes” - es ist nun mal so, dass dein PC auch andere Programme ausführt.

Lg
 
  • Gefällt mir
Reaktionen: Baal Netbeck
FranzvonAssisi schrieb:
Das liegt höchstwahrscheinlich an irgendwelchen Treibern - die sollten also neu installiert werden. Insb. vielleicht mal die Logitech Gaming Software weglassen.
Wieso sollte man die Gaming Software weglassen?

LG
 
FranzvonAssisi schrieb:
Ansonsten sind 1Ms Unterschiede mmn keine “Spikes” - es ist nun mal so, dass dein PC auch andere Programme ausführt.
1msec scheint auf den ersten blick zwar wenig zu sein. Dazu allerdings ein kurzes Beispiel.
Eine einfache Audio-CD besitzt eine Samplerate von 44.100kHz, respektive 44.100 Abtastwerte je Sekunde. Um diesen Datenstrom nun dauerhaft verlustfrei Wiederzugeben zu können, muss das System in der Lage sein durchschnittlich jede 0,0226msec (bzw. 22,6µsec) einen Abtastwert an den Audiochip zu übertragen. Diese Menge konnten schon die alten x486 Systeme ohne Probleme verarbeiten.

Bevor sich jemand fragt, wieso ich die 16Bit breite je Abtastwert und Stereo scheinbar vernachlässigt habe. Beide Kanäle zusammen kommen nur auf 32Bit je Abtastwert. Das passte schon zu x86 Zeiten in jedes Register.

FranzvonAssisi schrieb:
Das liegt höchstwahrscheinlich an irgendwelchen Treibern - die sollten also neu installiert werden. Insb. vielleicht mal die Logitech Gaming Software weglassen.
Habe für diverse Gerätetreiber schon ältere Versionen versucht und auch mal einige Geräte abgesteckt bzw. andere Tastatur/Maus probiert. Brachte nichts.

Muss ich da bei Windows vielleicht erst irgendwo zustimmen, damit die Funktionen freigeschaltet werden?

Ich frage deshalb, weil mein Mikrophon zunächst an keinem Eingang funktioniert hatte. Ich konnte den Eingang in der Sound Systemsteuerung direkt auf einen Ausgang umleiten und mich dann hören, also ein Signal kam an. Nach einer halben ewigkeit bin ich mehr zufällig auf einen Forumsbeitrag gestoßen wo dem Autor geraten wurde unter Windows das Mikrofon einzurichten und dabei dem Datenschutz zuzustimmen.
 
Gorasuhl schrieb:
1msec scheint auf den ersten blick zwar wenig zu sein. Dazu allerdings ein kurzes Beispiel.
Eine einfache Audio-CD besitzt eine Samplerate von 44.100kHz, respektive 44.100 Abtastwerte je Sekunde. Um diesen Datenstrom nun dauerhaft verlustfrei Wiederzugeben zu können, muss das System in der Lage sein durchschnittlich jede 0,0226msec (bzw. 22,6µsec) einen Abtastwert an den Audiochip zu übertragen.
Nö. Der Audiochip hat einen Buffer in den mindestens einige, meistens sogar hunderte Millisekunden an Audiodaten passen. Dort legt der Computer die nächsten paar ab und kümmert sich um die anderen Sachen. Im Durchschnitt - ja - passt das ganze wieder, aber so macht es dein Rechner halt nicht.

In Anbetracht der von dir angegebenen Latenz von über 300Ms entspricht 1Ms außerdem nur 0,3%. Das ist absolut normal.

Unsere Computer zu Hause sind keine Real-Time-Computer!

Lg
 
FranzvonAssisi schrieb:
Nö. Der Audiochip hat einen Buffer in den mindestens einige, meistens sogar hunderte Millisekunden an Audiodaten passen. Dort legt der Computer die nächsten paar ab und kümmert sich um die anderen Sachen. Im Durchschnitt - ja - passt das ganze wieder, aber so macht es dein Rechner halt nicht.

In Anbetracht der von dir angegebenen Latenz von über 300Ms entspricht 1Ms außerdem nur 0,3%. Das ist absolut normal.

Unsere Computer zu Hause sind keine Real-Time-Computer!

Lg
Ich habe meine Antwort zum Zitat mal in einen Spoiler gepackt, damit das eigentliche Thema übersichtlicher bleibt.
Natürlich braucht man Buffer, bei Windows 10 scheinen diese größer als bei Win 7 oder 8.1 zu sein, daher wohl auch die zu Begin erwähnte statische Differenz.
Windows 7 hat meine ich um die 150ms und Windows 10 müsste irgendwas um die 190/200 haben (Bei 48kHz Samplerate). Aber wie du schon selbst gesagt hast muss das System den Puffer trotzdem dauerhaft gefüllt halten. Wenn der Puffer auf Grund von Laggs mal Leer laufen sollte kommt es zu Unterbrechungen oder Störgeräuschen, wie Knacken oder Knistern.

Und die Windows Versionen sind sehr wohl Echtzeitfähig. Wobei es dort auf die Anwendung ankommt. Für Audio und Video stellt das kein Problem dar. Im Bereich Audio gibt es seit einer Ewigkeit ASIO mit dem auch unter Windows Latenzen von um die 1ms verlustfrei erreicht werden können.
Selbst Regelungen sind großteils bedenkenlos möglich. Ein Raspberry oder ARM µPC kann auch mit dem abgespeckten Win10 betrieben werden und über die GPIO Schnittstelle z.B. mit einem Antrieb die Solarkollektoren zur Sonne ausrichten oder die Heizkörper mit einem elektrischen Stellantrieb regeln. Die erreichte quasi-Echtzeit ist dafür mehr als ausreichend.
Für Harte Echtzeitanwendungen gibt es auch für Windows Lösungen von z.B. Kithara. Trotzdem würde ich die IGBT oder MosFET der Leistungsstufe eines PV-Wechselrichters mit Taktungen jenseits von 100kHz einer auf die Anwendung abgestimmten embeddet Lösung überlassen.


Ich denke nicht, dass das Problem Audioseitig ist. Das wird viel mehr Eingangsseitig, bedingt durch das Fehlerhafte Energiemanagement verursacht sein. Die Anwendung benötigt kaum Leistung, entsprechend wird die CPU auch nicht hoch getaktet und die Module geparkt.

Mal angenommen das System benötigt nur 2 Arbeitszyklen bis das Programm die Eingabe vom Benutzer registriert hat. Und angenommen beide Male müsste ein Modul aus dem deep Sleep C7 geweckt werden, wenn der letzte Power State auch gering war dauert das ganze nochmal etwas länger. Ich nehme an, dass so die seltenen Spikes mit 3msec zustande kommen.
Bei den 2 Zyklen könnten so schon bis zu 6msec entstehen. Und ich nehme an, dass definitiv mehr als 2 Zyklen notwendig sind und Spikes mit bis zu 10msec sind durchaus denkbar. Diese reichen dem Spiel schon aus, dass ein Anschlag nicht mehr als Perfekt, sondern nur noch fast Perfekt erkannt wird.

Ich habe in der Zwischenzeit noch folgendes Probiert und festgestellt:
  • Die Spikes im Spiel werden deutlich weniger, wenn ich nebenher nen Stream und Video auf YT laufen lasse und die CPU nicht mehr in die tiefen C States gesetzt wird.
  • Ich habe mit Cinebench die CPU etwa 2-3 Minuten ausgelastet und parallel dazu LatencyMon laufen lassen. Die Werte waren um Welten besser und die Spikes gingen runter auf unter auf um die 200-300µsec.
  • - BIOS Update von 2006 auf 2403 brachte keine Behebung der Problematik der Energiesparpläne

Die Beobachtungen lassen schon sehr stark auf die Fehlerhafte Energieverwaltung schließen. Als nächstes würde ich noch mal einen modifizierten Energisparplan von Energiesparplan Zen 3 Ryzen 5000 (modified Powerplans) ausprobieren. Wenn sich da auch nicht der Leistungsmodus der CPU verändern lässt, kann man zumindest davon ausgehen, dass die CPU, wieso auch immer, nur in ihrem Standard Embeddet Profil arbeitet und nicht vom OS beeinflusst werden kann.
 
Gorasuhl schrieb:
Die Beobachtungen lassen schon sehr stark auf die Fehlerhafte Energieverwaltung schließen. Als nächstes würde ich noch mal einen modifizierten Energisparplan von Energiesparplan Zen 3 Ryzen 5000 (modified Powerplans) ausprobieren. Wenn sich da auch nicht der Leistungsmodus der CPU verändern lässt, kann man zumindest davon ausgehen, dass die CPU, wieso auch immer, nur in ihrem Standard Embeddet Profil arbeitet und nicht vom OS beeinflusst werden kann.
Ich habe heute mal die Pläne ausprobiert und die haben mir nicht geholfen. Wobei bei diesen Plänen die Effizienzsteigerung im Vordergrund steht und ich möchte ja auch mit einem eigenen Plan für Spiele, bei dem die Kerne nicht mehr geparkt werden eigentlich was gegenteiliges.

Daraufhin habe ich mir via Konsolenbefehl die in den Energiesparplänen versteckten Punkte "CPMinCores" und "CPMaxCores" der Prozessorenergieverwaltung aufgedeckt. CPMinCores steht bei Ausgeglichen und Höchstleistung auf 100%, demnach sollten auch im Idle die Kerne nicht geparkt werden. Eine Veränderung des Wertes hat keine Auswirkung.

CPMaxCores legt hingegen die maximale Anzahl an Kernen fest die gleichzeitig aktiv sein dürfen. Damit dies funktioniert muss der Wert von CPMinCores kleiner als CPMaxCores sein. Ich habe zum Testen CPMinCores auf 10% und CPMaxCores auf 50% festglegt. Dann werden, getestet mit Cinebench, auch nur 3 der 6 Kerne genutzt und die restlichen 3 weiterhin geparkt.

Das gleiche habe ich dann noch für MaxPerformance und MinPerformance getestet. Auch da ist das Verhalten, nur hier halt bezogen auf die Frequenz, gleich. Ich kann den Min-Wert verändern wie ich will und das hat keine Auswirkungen.
Sobald ich aber auch hier Min auf 10% und Max auf 50% setzte, werden alle Kerne nur auf bis zu 1850Mhz getaktet (50% BaseClock).

Vielleicht ist das Problem gar nicht seitens OS oder durch eine Einstellung im BIOS, sondern seitens AMD. Vielleicht wird ein Eingriff vom OS oder Drittsoftware in die unteren Grenzwerte unterbunden.


Es nett, wenn einer oder mehrere mit einem Ryzen der 3. Generation mal schauen könnte/n ob das Verhalten zwischen Ausbalanciert zu Höchstleistung gleich dem meinigen ist, also ob die Kerne in beiden Plänen unverändert geparkt und runtergetaktet werden.
 
Interessant. Das wußte ich gar nicht. Auf meinem 3950x habe ich die diversen CPPC-Werte im BIOS aktiviert und verwende nach wie vor den 1usmus- Ryzen-universal-plan zu meiner vollsten Zufriedenheit. Performance paßt bei mir, Temperatur paßt ( ich habe Höchst- und Mindestleistung auf 100%), taktet brav runter etc.

Ich weiß schon, du hast einen Zen3, da sind die Dinge anders.

Aber ich bin neugierig und werde mal die detaillierten Einstellungen des Powerplans checken.
 
alexbirdie schrieb:
Interessant. Das wußte ich gar nicht. Auf meinem 3950x habe ich die diversen CPPC-Werte im BIOS aktiviert und verwende nach wie vor den 1usmus- Ryzen-universal-plan zu meiner vollsten Zufriedenheit. Performance paßt bei mir, Temperatur paßt ( ich habe Höchst- und Mindestleistung auf 100%), taktet brav runter etc.

Ich weiß schon, du hast einen Zen3, da sind die Dinge anders.

Aber ich bin neugierig und werde mal die detaillierten Einstellungen des Powerplans checken.
Danke schon mal, ich erwarte hier von niemandem, dass er/sie/es an den normal sichrbaren oder sogar ausgeblendeten Werten herumspielt. Mir würde es reichen, wenn jeman, idealerweise mit einem Zen3, einfach nur die Energiesparpläne zwischen Ausgeglichen und Höchstleistung wechselt und im Ryzen Master Tool vergleicht was die CPU macht. Normalerweise sollte die bei Höchstleistung permanent (also auch im Idle) im Basistakt (beim 5600X = 3,7GHz) laufen und die Kerne nicht parken. So kenne ich das noch von meinem vorherigen Bulldozer fx8150, oder von meinem Bruder von seinem E8400 bzw. Q6600 Q8200 unter Win7.
Falls das bei anderen auch ist kann ich zumindest ausschließen, dass es an irgendeiner falschen Einstellung / Software / Treiber meinerseits liegt.
 
Zuletzt bearbeitet:
Gorasuhl schrieb:
Mir würde es reichen, wenn jeman, idealerweise mit einem Zen3, einfach nur die Energiesparpläne zwischen Ausgeglichen und Höchstleistung wechselt
Ich weiß, ich habe deinen Wunsch schon richtig verstanden.

Aber wie ich geschrieben habe, habe ich einen Zen2 und keinen Zen3 wie du und kann dir daher nicht helfen.
 
Zurück
Oben