INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenerfassung - Performance Probleme



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.04.2010, 09:04 (Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2010 09:04 von IchSelbst.)
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Datenerfassung - Performance Probleme
' schrieb:Beim starten des Vi's geht meine Computerauslastung immer in die höhe (ca. 90% auf einem von zwei cores (2x2.2Ghz)).
90% sind mindestens 70% zuviel.
Kommen die 90% sofort oder dauert es eine Weile, sagen wir mal 30 Sekunden, bis die 90% erreicht sind?

Zitat:muss es an der hardware liegen!
Nie und nimmer. Wink Naja, vielleicht 1% Wahrscheinlichkeit.

Was sich besonders in schnellen While-Schleifen immer negativ auswirkt, ist das Element "Erstelle Array". Dieses Verfahren, Daten in einem Array zu speichern, belastet den Speichermanager extrem. Mit diesem Element erreicht die Prozessorauslastung sehr schnell höchste Prozentzahlen. Besser ist es, das Array vor der While-Schleife mit einer maximalen Anzahl an Elementen vorzubesetzen und in der While-Schleife dann "Ersetze Teilarray" zu machen. Das würde auch hier funktionieren.

In dem einen SubVI machst du mehrere Berechnungen. Möglicherweise werden die Berechnungen schneller, wenn du sie von einem Formelknoten berechnen lässt. Ob hier ein relevanter Zeitgewinn entsteht, weiß ich allerdings nicht.

Weiterhin kannst du folgendes probieren: Mach zwei While-Schleifen. Eine, die nur alleine die Serielle Schnittstelle abfragt. Und eine weitere While-Schleife, die die Daten im Schieberegister speichert, die Anzeige in den Graphen macht und das Speichern im File übernimmt. Zwischen den beiden While-Schleifen überträgst du die Seriellen Daten mittels Queue. Die Schleife mit dem Seriellen Lesen wird dann schnell genug sein. Die Queue dient als Zwischenpuffer. Die andere Schleife darf langsamer laufen als Lese-Schleife. Voraussetzung ist, dass die langsamere Schleife die Queue immer ganz ausliest, nicht elementweise.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Datenerfassung - Performance Probleme - IchSelbst - 25.04.2010 09:04

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Probleme mit Datenerfassung über serielle Schnittstelle (RS232) Flo884 6 9.942 14.04.2009 09:42
Letzter Beitrag: IchSelbst
  performance problem aoul3000 1 3.512 01.02.2009 12:45
Letzter Beitrag: Y-P

Gehe zu: