| |
|
|
Julian Schmidt | Hallo, ich versuche gerade Informationen des Prozessors zu ermitteln (CallNtPowerInformation, Processor_Power_Information), um daraus dann die CPU Auslastung in Prozent zu berechnen. Wie man die aktuelle CPU Geschwindigkeit in Mhz berechnet habe ich schon einen Posting von hier hier entnommen. [...]
Nun möchte ich noch die Max. Mhz-Zahl des Prozessors und die Anzahl der Kerne ermitteln. Siehe Link[...] Das sollte über einen ähnlichen Quelltext funktionieren Nur was muss ich am Quelltext verändern um statt "CurrentMhz", "MaxMhz"(, "Number") zu erhalten? Was hat es mit der Bereichsvariable Callmem# auf sich? Warum hat sie den Wert 24? Warum ist genau Long(Callmem#,8) die CPU Geschwindigkeit in Mhz? Welche Werte (, statt 8, ) haben andere Funktionen ("Number",etc.)
LG
Julian57 |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 30.06.2011 ▲ |
|
|
|
|
| Inwiefern hilft Dir die Erklärung zu CallNtPowerInformation ( [...] ) nicht? |
|
|
| |
|
|
|
Julian Schmidt | Ich weiß nicht wie ich die Funktion über XProfan aufrufe. Bzw. wie der Aufruf (siehe Quelltext oben) funktioniert. Und welche Werte ich ändern muss um eine andere Funktion zurückzugeben
Ich vermute das ich den Wert 8 aus "Var mhz&=Long(Callmem#,8)" ändern muss um dies zu tun. Nur weiß ich nicht in welchen Wert ich diesen ändern muss. Auf der Seite finde ich leider keine Tabelle oder so :p |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 30.06.2011 ▲ |
|
|
|
|
Jörg Sellmeyer | Geh doch einfach mal die 24 durch. Wichtig ist, bei Null anfangen! Wahrscheinlich reichen Viererschritte:
Wenn dabei dein Wert ist, weißt Du es. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 30.06.2011 ▲ |
|
|
|
|
Julian Schmidt | Hallo, @ Jörg Das mit dem Zurückgeben der Werte, und dem Vergleichen ist ein klasse Idee
@All Nur ein Problem. Wie ermittle ich die Maximale Mhz. Zahl meines Prozessors? Ich habe mein System auf Volllast gebracht und über CurrentMhz dann die Mhz ermittelt. Nur war sie gleich mit der Zahl aus dem Leerlauf. Ist die CPU Auslastung nicht von aktuellen Mhz der Prozessors abhängig? Wenn ja, wo von ist sie abhängig, wie ermittelt man diese korrekt?
Zu der Funktion "Number". Es kann der Wert 16 oder 20 sein. Könnte jemande mal den Quelltext durchlaufen lassen und überprüfen ob ein Wert von der Anzahl seiner Prozessorkerne abweicht oder zustimmt. (Und seine Ergebnisse hier posten)
Proc sys.getcpuspeed
Declare Callmem#
Dim Callmem#,24
External("powrprof.dll","CallNtPowerInformation",11,0,0,Callmem#,24)
Var mhz&=Long(Callmem#,8)
WhileLoop 0,24,1'Zeitweilig
print Str$(&loop) + " = " + Str$(Long(Callmem#,&Loop))
Endwhile
Dispose Callmem#
return mhz&
EndProc
sys.getcpuspeed
'Print "Speed: " + Str$(sys.getcpuspeed()) +" Mhz"
WaitInput
'16 oder 20 = Number of Processors
LG
Julian57 |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 30.06.2011 ▲ |
|
|
|
|
Julian Schmidt | Hat den keiner eine Idee? Oder seit ihr nur zu sehr mit anderen Dingen beschäftigt? |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 03.07.2011 ▲ |
|
|
|
|
| Mein Problem z.B.: Hab zu viele Ideen !
Wonach willst die API befragen? |
|
|
| |
|
|
|
| Die API ist oft weniger hilfreich dazu als WMI: [...]
Hiermit echt hilfreich: [...] |
|
|
| |
|
|
|
Julian Schmidt | iF (03.07.11)
Wonach willst die API befragen?
Nach der CPU Auslastung in Prozent,der Anzahl der Prozessorkerne, Max. Mhz. des Prozessors ^^ , und allem was sich über den Prozessor noch ermitteln lässt xD |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 03.07.2011 ▲ |
|
|
|
|
| Vlt. solltest mal bei a anfangen und Dich dann zu b vorkämpfen -
eine gimmyallwhaticaneat-Api braucht viel Pflege. ^^ |
|
|
| |
|
|
|
Julian Schmidt | Wo soll ich bei a anfangen und mich bis b vorkämpfen? |
|
|
| ˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗ Webseite [...] | 03.07.2011 ▲ |
|
|
|
|
| Versuche der API halt erstmal 1 Wert zu entlocken und dann Stück für Stück.
Auf der MSDN-Seite steht ja genau was die API alles zurückliefern kann. |
|
|
| |
|
|