Seiten: 1 [2]
|
 |
|
Autor
|
Thema: Cpu Auslastungs anzeige (Gelesen 13776 mal)
|
|
|
OlafSt
Global Moderator

Karma: +13/-0
Offline
Geschlecht: 
Beiträge: 2138

Master of STLCD and LISA III
|
Um das zu verhindern, rede ich ja von "Glätten". Das ganze funktioniert dann in etwa so: - Man nehme die letzten drei ermittelten Werte. - Summiere diese Werte fleißig auf - Teile das Ergebnis anschließend durch drei
Das ergibt den arithmetischen Mittelwert der letzten drei Werte. Da wir zusätzlich eine Art Queue basteln (den zuerst ermittelten Wert werfen wir raus, schieben die beiden anderen Werte eine Stufe weiter und setzen den neuen Wert ganz oben ein), lassen sich länger anhaltende, stabile Werte problemlos anzeigen. Kurzzeitige Peaks fallen entweder ganz unter den Tisch bzw. sie wirken sich nicht allzu dramatisch aus.
Beispiel (CPU-Last ändert sich schlagartig von 0 auf 65%. Wir haben ein Intervall von 300ms und eine 3-Stufen-Pipeline, der Mittelwert landet auf der Anzeige):
nach 0ms : Wert1=0, Wert2=0, Wert3=0. Summe = 0, Mittelwert = 0.
nach 300ms: Wert1=0, Wert2=0, Wert3=65. Summe=65, Mittelwert=21.
nach 600ms: Wert1=0, Wert2=65, Wert3=65. Summe=130, Mittelwert=43
nach 900ms: Wert1=65, Wert2=65,Wert3=65. Summe=195, Mittelwert=65.
Auf der Anzeige sieht man also: 0 - 21 - 43 - 65. Alle 300ms ändert sich also die Zahl, das sind 3 Änderungen je Sekunde. Ein absolut brauchbarer Effekt 
Fällt die CPU-Last nun wieder auf 16% ab, sieht das so aus:
W1=65, W2=65, W3=16, S=146, M=49 W1=65, W2=16, W3=16, S=97, M=32 W1=16, W2=16, W3=16, S=48, M=16
Auf der Anzeige also 65 - 49 - 32 - 16.
Je mehr Stufen wir haben, desto stärker wird geglättet, folglich fallen auch mehr "Peaks" unter den Tisch und umso sanfter klettert/fällt die Anzeige. Eine Verkürzung des Intervalls wiederum hat den gegenteiligen Effekt.
So einfach kann das sein 
|
|
« Letzte Änderung: Oktober 26, 2005, 13:54:55 von OlafSt »
|
Gespeichert
|
Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
|
|
|
|
|
|
James Bond
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 5
Ich liebe dieses Forum!
|
Das hört sich gut an.
Wäre echt nett wenn ihr ein tutorial daraus macht.  (Bitte auch link posten)
Wie weit seid ihr schon? will kein Stress machen bin nur etwas ungeduldig...
|
|
|
Gespeichert
|
|
|
|
|
AVR-Simon
Dremelfreund

Karma: +2/-0
Offline
Beiträge: 127
Ja, ich habe was mit Mikrocontrollern zu tun :-)
|
Na da mach ich doch gleich mal einen Vorschlag.
Wie wärs mit Multiplexing?
Die 7 Segment Anzeigen werden über ein NPN-Array angesteuert und an PortC ein weitergezählt. Einen AVR brauchen wir ja dann sowieso, wenn jemand hier da USB reindrücken will. Schieberegister wäre zuviel Aufwand, also multiplexing. Externen Takt brauchen wir nicht (außer USB verlangt das so :/) Zusätzlich könnte man die Helligkeit dimmen 
Allerdings hab ich mir jetzt keine Gedanken über irgndeine Modularität gemacht. Finde ich auch vielleicht eher unsinnig. Das soll einfach sein. Ein 2 Seiter (-Tutorial). Wozu groß "Modulieren" ?
|
sch1.png (10.87 KB - runtergeladen 32 Mal.)
|
|
Gespeichert
|
|
|
|
|
Seiten: 1 [2]
|
|
|
|
|