![]() |
aktuelle CPU-Frequenz
Hallo,
ich würde gerne, da ich nun einen AMD mit Cool'n'Quiet habe, die aktuelle Taktfrequenz auslesen. Das soll natürlich per Timer geschehen. Als Vorbild dient mir der "AMD Power Monitor", der mit 100ms sogar recht schnell aktualisiert. Ich habe schon gesucht und folgende 2 Möglichkeiten gefunden: - ![]() Gut: Die Berechnung liefert schöne Werte. Haken: Wenn ich das ganze per Timer mache, ruckt das Programm bei der Berechnung, nimmt also keine Mausklicks an etc. :shock: - ![]() Gut: Programm wird nicht aufgehalten Haken: Die Frequenz geht von 1000 bis 2200 MHz. Die Funktion gibt aber nur die Werte 990, 1782 und 2200 MHz (je -1) zurück :( - Der Power Monitor zeigt gerundet auf Hunderter alles von 1000 bis 2200 an. Gibt es eine Möglichkeit, die Berechnung so zu verändern, dass sie das Programm nicht aufhält bzw. eine Methode, die ohne Rucken gute Werte liefert? Danke, ManuMF |
Re: aktuelle CPU-Frequenz
Na klar, im Timer ist das ganze natürlcih blocking - also musst dus z.B. per Thread non-blocking machen.
|
Re: aktuelle CPU-Frequenz
Ich habe es auch mit einem JvTimer von den JEDIs probiert.
Dazu habe ich bei diesem die Eigenschaft Threaded auf true gesetzt und die Priorität so gesetzt, wie es sonst der Berechnungscode macht und selbiges dort entfernt (damit das nicht jedes Mal neu gemacht werden muss). Das sollte eigentlich dann in einem Thread ablaufen, oder? :gruebel: Jedenfalls hat es nichts gebracht :( edit: Ein weiterer Haken der Berechnung: Wenn man den Code im falschen Moment stoppt, beginnt das ganze System zu schleichen. |
Re: aktuelle CPU-Frequenz
Auch Thread wird nichts bringen, da der Code kurzzeitig, zur Messung der Taktfrequenz, mit der höchst möglichen Priorität läuft und somit alles andere blockiert.
|
Re: aktuelle CPU-Frequenz
Liste der Anhänge anzeigen (Anzahl: 1)
schnell und genau genug?
ohne Thread und in 100er-Schritten und mit 'nem, Zähler + bewegtem TShape zur Ruckelkontrolle. ach ja, die Zählfunktionen sind nach negaH's Vorbild. |
Re: aktuelle CPU-Frequenz
Ich bin beeindruckt :shock:
Leider auch so nur 3 Werte (1000, 1800 und 2200). Die 1800 treten aber auch auf, wenn der Monitor 1200, 1500 oder 2000 zeigt. Vermutlich lässt sich das nur über einen Treiber genau auslesen, der Monitor greift wohl auch auf den von AMD zu. |
Re: aktuelle CPU-Frequenz
Liste der Anhänge anzeigen (Anzahl: 1)
na ja, ein Treiber sollte eigentlich nicht nötig sein.
jedenfalls läuft bei den meisten CPUs der Real Time Stamp Counter (RDTSC) mit dem CPU-Tackt mit. (nur bei Multiprozessorsystemen hätte man damit Probleme ... da müßte man die Messungen auf den gewünschten CPU-Kern beschränken) Ein Problem wird aber auch sein, daß Cool'n'Quiet anscheined recht schnell reagiert ... also die Frequenz sich schnell ändern kann (auch wärend der Messung). Was genau willst du denn haben? Wenn dir der FrequenzDurchschnitt zwischen 2 Messungen reicht, dann könnte man die Schleife/Pause zwischen den Messungen weglassen und als Messpause die Zeit zwischen den Messungen ausnutzen ... würde dann also praktisch keine Zeit zur Messung nötig sein. Könnte dann ja mal mein Progi dementsprechend umstellen, falls dir sowas reicht. Jedenfalls dürften Momentaufnahmen doch eh "unbedeutend" sein, da du ja nicht ständig mitmißt. [add] "ohne Pause" ... als Messschleife/Messpause wird die Zeit zwischen 2 Messungen verwendet. |
Re: aktuelle CPU-Frequenz
Klaasse, danke! :thumb:
So ist die Anzeige sogar manchmal schneller als die vom Power Monitor, mit anderen Worten: Es läuft super. |
Re: aktuelle CPU-Frequenz
Zitat:
Das ist aber kein "Problem", sondern ein Feature! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz