belegt Aufruf von Eigenschaftsknoten mehrfach Speicher - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: belegt Aufruf von Eigenschaftsknoten mehrfach Speicher (/Thread-belegt-Aufruf-von-Eigenschaftsknoten-mehrfach-Speicher) |
belegt Aufruf von Eigenschaftsknoten mehrfach Speicher - Hasenfuss - 18.12.2012 11:02 Folgende Frage: Ich bin innerhalb einer while-Schleife. In der while-Schleife ist ein Schalter mit true/false. Ich habe ein Anzeigeelement, dass ich mit einem Eigenschaftsknoten und dem Feld sichtbar/unsichtbar über den Schalter steuern will. Der Schalter hängt an einem case. Bei jedem Schleifendurchlauf der while-Schleife wird durch den case der Methodenknoten "beschrieben", entweder mit true/false, je nach Stellung des Schalters. Es ist klar, dass eine Eventstruktur die "bessere" Lösung dafür ist, um unnötige Speicherzugriffe bei jedem Schleifendurchlauf zu minimieren - mich interessiert aber - wird bei jedem Schleifendurchlauf durch Zugriff auf den Eigenschaftsknoten im Speicher eine neue Referenz abgelegt - so dass sich der Speicher von Schleifendurchlauf zu Schleifendurchlauf "füllt" und es irgendwann zum "Überlauf" kommen könnte, wenn die while-Schleife nur lang genug läuft? Dieses Argument wurde vorhin diskutiert und wir haben keine Antwort darauf gefunden, darum stelle ich die Frage einfach mal hier herein und wuerde mich freuen, wenn mir jemand diese Frage beantworten könnte. Vielen Dank im Voraus. RE: belegt Aufruf von Eigenschaftsknoten mehrfach Speicher - jg - 18.12.2012 11:14 Direkte erzeugte PropertyNode des Controls? Kein Problem! Aber jedes Setzen der PropertyNode erzwingt einen Wechsel in den UI-Thread und ein Frontpanel-Update. Dauerndes Setzen bremst also deine Performance ganz schön aus. Gruß, Jens RE: belegt Aufruf von Eigenschaftsknoten mehrfach Speicher - Lucki - 18.12.2012 11:33 Und weil dem so ist, wie Jens sagt, sollte man, wenn schon nicht mit Ereignisbehandlung, eine gleichwertige andere Lösung anvisieren. Z.B in der Schleife Casestruktur mit 3 Fällen: Schalter auf true gesetzt, Schalter auf False gesetzt, Schalter nicht bedient - der letztgenannte Case bleibt leer. So kann man das machen (die nicht sichtbaren Cases sind "1" und"2"): [attachment=42710] RE: belegt Aufruf von Eigenschaftsknoten mehrfach Speicher - Hasenfuss - 18.12.2012 14:30 mir ging es halt wirklich nur um die Information, ob bei jedem Aufruf eines Eigenschafts- oder Methodenknotens ein neuer Bereich im Speicher dafür bereitgestellt wird (und der vorige auch erhalten bleibt), wenn der innerhalb einer while-Schleife hängt und als neu erstellt wird, wenn das Programm das bearbeitet. Dass der Prozess durch diesen "unnötigen" Schreibvorgang anders besser lösbar ist, ist klar. Aber als Beginner muss man wie ich einfach mal mit einer Variante anfangen und dann andere Sachen auch ausprobieren. |