LabVIEWForum.de
CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? (/Thread-CPU-Auslastung-CASE-Struktur-VS-Event-Struktur-20-60)

Seiten: 1 2


CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Dimasq - 07.06.2012 20:09

HI,

als Annahme das meine CPU Auslastung mit Ereignisstrukturen (Event structures) geringer ausfällt als mit Case Strukturen, habe ich mein Programm umgebaut .


Jedoch ist die Auslastung sogar teilweise 4 mal höher als ein Aufbau mit Case Strukturen ! Teilweise erreicht es sogar Auslastungen von über 75%! Siehe Bilder.
[attachment=40093][attachment=40094]

Wie lässt sich sowas erklären ? Mit Case Strukturen ist Labview immer im "Polling-Betrieb"..

Danke


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - GerdW - 07.06.2012 20:18

Hallo,

wie soll man die Frage anhand von Bildern des BD beantworten, wenn man nur einen kleinen Ausschnitt des jeweiligen Programms sieht? Glas1


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Dimasq - 07.06.2012 20:28

Das Programm ist leider 20MB groß .... https://www.dropbox.com/s/phlyg512nujvbsn/Device%20Controller%20DHM%201.2.vi
(07.06.2012 20:18 )GerdW schrieb:  Hallo,

wie soll man die Frage anhand von Bildern des BD beantworten, wenn man nur einen kleinen Ausschnitt des jeweiligen Programms sieht? Glas1

Ich denke die ganzen Subvi's sind erstmal nicht relevant . . . die meisten SUBVI's sind einfach konvergierte Express VIs (Assistant I/O) für die Controller Ansteuerung.

Vielleicht hast du Verbesserungen, bzw Tipps. Wäre Dir dankbar. Auf Wunsch schicke ich den Aufbau mit Case Strukturen.

Thx!


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - GerdW - 07.06.2012 20:46

Hallo,

ich habe kein IMAQ installiert...

- Kann es sein, dass die 20MB auch durch irgendwelche als Default hinterlegte Bilder zustande kommen?
- Aufräumen!
- 1. Grundregel: BD nicht größer als ein Bildschirm!
- 2. Grundregel: Unnötiges weglassen - wie z.B. die überbewerteten Sequenzstrukturen...
- 3. Grundregel: subVIs, subVIs, subVIs...


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Dimasq - 07.06.2012 20:56

(07.06.2012 20:46 )GerdW schrieb:  Hallo,

ich habe kein IMAQ installiert...

- Kann es sein, dass die 20MB auch durch irgendwelche als Default hinterlegte Bilder zustande kommen?
- Aufräumen!
- 1. Grundregel: BD nicht größer als ein Bildschirm!
- 2. Grundregel: Unnötiges weglassen - wie z.B. die überbewerteten Sequenzstrukturen...
- 3. Grundregel: subVIs, subVIs, subVIs...

Nein, alle IMAQ Speicher sind gelöscht, Arrays sind auch leer.

1.BD= Backend? ... Ich hab ein großen Monitor 2hands Ich könnte auch alles in ein Ereignisstruktur stecken wenn sowas erlaubt ist ...

2. Alles klar ! 1 Sequenzstruktur seh ich schonmal als überbewertet. Aber das erklärt nicht die große CPU Auslastung .

3. Also SUBVI's vermeiden oder mehr in SUBVI's bauen??

Danke


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - GerdW - 07.06.2012 21:03

Hallo,

1) BD=Blockdiagramm. Auf Arbeit habe ich auch einen großen Monitor, aber zu Hause halt nicht. Und bloß nicht alles in ein einziges Event...

2) Die Sequenzen blähen aber das BD auf, ohne irgendwie nützlich zu sein...

3) mehr subVIs...


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Dimasq - 08.06.2012 00:19

Nach Verteilung von 4 Prozessen in Subvi's sieht die Sache schon besser aus, jedoch auch um die 40 bis 50 Prozent CPU Auslastung.
Es hat sich ein Graph versteckt, die VI hat also 200 kb ohne die SUBVI's.

[attachment=40095]

Die Verteilung der zwei Ereignisstrukturen in einer, und somit zwei While Schleifen, bringt kein besseres Ergebnis.

Jemand noch ein Tipp?

Danke !


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Lucki - 08.06.2012 07:49

Nur kleine Anmerkung, es hat sicher nichts mit der Prozessorauslastung zu tun: Du hast jetzt je eine Ereignisstruktur in 2 parallelen Schleifen eines VIs. Dagegen spricht aus meiner Sicht nichts und NI hat da auch nichts dagegen - NI empfiehlt nur, nicht mehrere Ereignisstrukturen ein einer einzigen Schleife zu verwenden.
Was ich aber bedenklich bis verboten finde, obwohl ich mir über die möglichen Auswirkungen nicht im Klaren bin: Ein und dasselbe Ereignis mehrfach in den verschiedenen Ereignisstrukturen zu behandeln. Z.B. machst Du das mit der Stop-Taste.


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - jg - 08.06.2012 09:15

Neben der Unschönheit von Lucki (2 Event-Strukturen, 2x dasselbe Event in den verschiedenen Strukturen) fallen mir folgende Unschönheiten auf:

1) Dauerndes Setzen von Property-Nodes:
[attachment=40096]
Zwecks fehlendem SubVI kann ich nicht sagen, wie schnell diese Schleife läuft, aber es sieht sehr unnötig aus.
Merke: PropertyNodes sind langsam, da sie im UI-Thread laufen und ein Frontpanel-Update erzwingen!

2) Du hast bei ein paar Buttons das Label wegeditiert Noe , und setzt dann auch noch den Wert per Value(Signaling), obwohl für diese Buttons gar kein Event definiert ist. Hmm

Gruß, Jens


RE: CPU Auslastung : CASE Struktur VS Event Struktur > 20% : 60% ??? - Dimasq - 08.06.2012 11:04

Danke für die Information

Ich habe nun paar Veränderungen unternommen sowie sämtliche doppelten Events eliminiert, bis auf die Stop Taste . Ein Versuch mit einem zusätzlichen boolean Signal der Stop Taste, mit dem ich das zweite Event definiere, bringt das Programm nicht zum stoppen.

[attachment=40097]

Aber dennoch 50 Prozent CPU Auslastung Ahrg1 Das frühere Programm hat im Normalbetrieb zwischen Null und 5 Prozent... gestern waren es 20 %, komisch. Es ist viel komplexer.

[attachment=40098]


Hmm ich habs nun gelöst ... das ich nicht früher drauf gekommen bin.

Eine einfache Warte-Funktion, mit einem niedrigen Wert sogar, bringt die CPU Auslastung zwischen Null und 2 Prozent .
[attachment=40099]

Aber was macht diese While-Schleife so besonders ?!?!


Danke !