13.01.2011, 16:23
Beitrag #1
|
Oskimo
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Jul 2010
8.6
-
de
Deutschland
|
Auslastung durch Anzeige von Daten glätten
Hallo zusammen,
Ich hab ein UI mit ca. 150 Anzeigeelementen die möglichst 2 mal die Sekunde geupdatet werden sollten. Durch das Update der Werte ensteht für diese kurze Zeit eine hohe CPU Auslastung. Ich hatte vor diesen Ausschlag zu glätten und die Anzeigeelemente nacheinander dauerhaft zu updaten.
Das Problem ist nun, dass ich nicht weiß, wie ich die einzelnen Elemente updaten kann, da sie sich als Array in einem Cluster befinden. Wenn ich nun diesem Cluster einen Wert zuweise werden sofort alle Elemente geupdatet. Wie kann ich auf ein einzelnes Element des Ausgabeclusters zugreifen? Ich hatte mir schon überlegt, ob ich nicht eine Referenz auf ein Element innerhalb des Arrays innerhalb des clusters erhalten kann. Ich bin aber mit dem Ansatz nicht so weit gekommen : /
LabView 8.6
|
|
|
13.01.2011, 20:15
(Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2011 20:15 von schrotti.)
Beitrag #2
|
|
|
13.01.2011, 22:10
Beitrag #3
|
Oskimo
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Jul 2010
8.6
-
de
Deutschland
|
Auslastung durch Anzeige von Daten glätten
Das VI hab ich jetzt nicht griffbereit. Ich habe aber identifiziert, dass die CPU Auslastung ausschließlich aus der Oberfläche kommt. Das heißt, wenn ich zum Beispiel den Teil, bei dem die Daten in das cluster der Oberfläche kopiert werden nur jede Sekunde ausführe, kriege ich jede Sekunde einen Peak von 30% bis 40% CPU Last. Dabei muss man sagen, dass es sich hierbei um einen P4 1.8GHz handelt.
|
|
|
14.01.2011, 08:20
(Dieser Beitrag wurde zuletzt bearbeitet: 14.01.2011 10:52 von Lucki.)
Beitrag #4
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Auslastung durch Anzeige von Daten glätten
' schrieb:Das Problem ist nun, dass ich nicht weiß, wie ich die einzelnen Elemente updaten kann, da sie sich als Array in einem Cluster befinden.
Zu diesem Teil Deiner Frage: Auf dem Frontpanel mit rechter Maustaste auf das Element im Cluster klicken und Eigenschaftsknoten "Wert" erstellen:
Leider nur sind Eigenschaftknoten viel langsamer als lokale Variable oder die Elemente selbst. Aber probieren geht über studieren.
|
|
|
14.01.2011, 10:46
Beitrag #5
|
|
|
14.01.2011, 11:14
(Dieser Beitrag wurde zuletzt bearbeitet: 14.01.2011 11:14 von Lucki.)
Beitrag #6
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
Auslastung durch Anzeige von Daten glätten
' schrieb:Warum soll denn der Peak geglättet werden?
Lass mich mitraten. Mein Tipp ist:
Es sollen 10 Anzeigeelemente nicht alle zugleich alle 0.5sec aktualisiert werden, sondern alle 50 ms eines, bis alle 10 durch sind.
Das Dumme ist, daß der Begriff "glätten" anderweitig fest belegt ist. Von "glätten" sollte man in diesem Kontext nicht sprechen. Damit sind Missverständnisse vorprogrammiert. Man ist aber hier in Bezug auf Sprachverhunzung im allgemeinen und skurrile Terminologie im Besonderen einiges gewohnt, so daß das schon gar nicht mehr auffällt.
|
|
|
14.01.2011, 16:06
(Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2011 00:10 von unicorn.)
Beitrag #7
|
|
|
15.01.2011, 11:26
Beitrag #9
|
|
|
15.01.2011, 11:28
|
Richard
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Jun 2009
8.6,9.0,9.1,10.0,11.0
2008
DE_EN
80797
Deutschland
|
Auslastung durch Anzeige von Daten glätten
Du solltest in dem Screenshot im dritten Rahmen DeferPanUpdts auf False setzten.
Gruß Richard
|
|
|
| |