Graph an Control anschließen VS über locale Variable
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!
27.01.2010, 11:27 (Dieser Beitrag wurde zuletzt bearbeitet: 27.01.2010 13:01 von jg.)
Graph an Control anschließen VS über locale Variable
Hallo,
mir ist beim Optimieren aufgefallen, dass wenn ich ein Graphcontrol direkt anschließe die Bearbeitung länger dauert, als wenn ich die locale Variable des Graphen benutze.
Ich habe mal ein VI gebaut welches dies zeigt. Meine Frage ist warum, eigentlich sollte doch das Control schneller oder mindestens genau so schnell sein wie die locale Variable.
Graph an Control anschließen VS über locale Variable
Ein Grund könnte sein: das Schreiben der lokalen Variable löst kein zwingendes FP-Update aus! Schreiben in Control IMHO schon. Auf jeden Fall häufiger.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Graph an Control anschließen VS über locale Variable
' schrieb:Ein Grund könnte sein: das Schreiben der lokalen Variable löst kein zwingendes FP-Update aus! Schreiben in Control IMHO schon. Auf jeden Fall häufiger.
Gruß, Jens
Hallo,
das Frontpanelupdate könnte ich doch mit dem Property Node "DeferPanUpdts" vom Frontpanel des VI's verhindern. Mache ich dies, ändert sich an den Zeiten nichts.
Was ich auch irgenwie komisch finde, damit sollte man doch eigentlich auch ein bisschen Geschwindigkeit gewinnen.
Graph an Control anschließen VS über locale Variable
' schrieb:Ein Grund könnte sein: das Schreiben der lokalen Variable löst kein zwingendes FP-Update aus! Schreiben in Control IMHO schon. Auf jeden Fall häufiger.
Das kann man direkt sehen, wenn man - was ohnehin sinnvoll wäre - den Graphen nicht in der ganz inneren Schleife, sondern in der nächsthöheren Schleife updatet. Die Ausführungszeiten sind dann zwar nur noch Sekundenbruchteile. Bei Updatig mit der lokalen Variablen sieht man nur ein einziges Zwischenbild, bei direktem Update sind es viele.
Graph an Control anschließen VS über locale Variable
' schrieb:Das kann man direkt sehen, wenn man - was ohnehin sinnvoll wäre - den Graphen nicht in der ganz inneren Schleife, sondern in der nächsthöheren Schleife updatet. Die Ausführungszeiten sind dann zwar nur noch Sekundenbruchteile. Bei Updatig mit der lokalen Variablen sieht man nur ein einziges Zwischenbild, bei direktem Update sind es viele.
Für die Geschwindigkeit zu minimieren ist es natürlich in diesem Fall besser nur Spaltenweise die Daten zum Graphen zu übermitteln. Aber wenn man das Array größer macht tritt auch hier wieder der Fall ein.
28.01.2010, 14:40 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2010 14:41 von A.Berndsen.)
Graph an Control anschließen VS über locale Variable
' schrieb:Ein Grund könnte sein: das Schreiben der lokalen Variable löst kein zwingendes FP-Update aus! Schreiben in Control IMHO schon. Auf jeden Fall häufiger.
Ich denke auch, daß es mit dem FP Update zusammenhängen kann.
Habe mir die Prozessorlasten bei der Programmausführung zusätzlich angesehen, 100% wenn das Control direkt beschrieben wird, im Mittel ca. 75% wenn die Variable beschrieben wird.
Für mich ein Indiz, das LV zusätzlich beschäftigt ist, das dürfte der FP-Update sein.
Grüße
Andreas
Geht nicht, gibts nicht!
28.01.2010, 15:02 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2010 15:03 von Lucki.)
Graph an Control anschließen VS über locale Variable
' schrieb:Für die Geschwindigkeit zu minimieren ist es natürlich in diesem Fall besser nur Spaltenweise die Daten zum Graphen zu übermitteln. Aber wenn man das Array größer macht tritt auch hier wieder der Fall ein.
Es ging mir gar nicht darum, Dein VI zu verbesseren - und das war ja auch gar nicht Deine Frage. Es ging darum, die Vermutung von Jens zu untermauern.
Jens hatte übrigens mal einen Eigenschaftsknoten oder Methodenknoten aus seine Zauberkiste geholt, mit der man das fortlaufende Updating des FP hinauszögern konnte. Weiß aber nicht mehr, wie das ging, das wäre hier ideal.
Es ist für mich eine eiserne Regel, das Updating eines Graphen nicht schneller zu machen als das menschliche Gehirn dem folgen kann - max. 10 Mal/s. Im Bedarfsfall verwende ich einen Zwischenpuffer. Diese Regel verletzt Dein VI um viele Größenordnungen.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Graph an Control anschließen VS über locale Variable
Bei mir dauert die LV (ca. 5,5 s) länger als direkt (ca. 5 s).
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------