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 

Dieses Thema hat akzeptierte Lösungen:

val(sgnl) vermeiden



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!

05.08.2011, 07:18 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2011 07:19 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: val(sgnl) vermeiden
(01.08.2011 12:58 )Kiesch schrieb:  Hmm... hier wird ja angesprochen, dass man val(sgnl) eventuell vermeiden sollte. Was genau ist dabei das Problem?

Alle UI Properties werden grundsätzlich im UI Thread ausgeführt. D.h. wenn Du ein val oder val(signal) Property in Deinem Programmcode ausführst, stellt LabVIEW den Code in eine Warteschleife um durch das Betreibssystem im Kontext des UI Threads aufgerufen zu werden. Nach dem dieser Code von Windows dann angekickt wurde (irgendwann us, ms oder was auch immer später) wird das ganze Spiel nochmals wiederholt, diesmal um den Codeteil wieder zum ursprünglichen Thread switchen zu lassen. Das daaaaaaaaaaaaaauert extrem lang im Verhältnis was normaler LabVIEW Code in der selben Zeit macht.

Wenn solche Properties in Deiner UI Ahandlungsschlaufe sind, wo Du auf Usereingaben reagierst, und zum Beispiel ein weiteres Even ankicken willst wenn ein davon abhängiges Userelement durch den Benützer manipuliert wurde, ist das absolut kein Problem. Die Threadcontextswitches sind unzählige Male schneller dann der meist geavanceerde Kungfu Kämpfer jemals Userelement anklicken kann.

Wenn Du dasselbe aber in Programmlogik in Deiner Applikation machst kann das einen grossen Einfluss auf die Reaktionszeit dieses Codeteiles haben. Oder noch schöner ein Property in einer langen Schlaufe. Einmal ein paar ms Threadswitchkontext ist kaum merkbar aber wenn das jedesmal in einer Schlaufe gemacht wird die 1'000'0000 mal ausgeführt wird macht das einen riesigen Unterschied. Ohne Propertynode läuft die Schleife meist in einigen 100ms durch. Mit Propertynode dauert es schnell mal 1 Minute oder mehr.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
val(sgnl) vermeiden - Puma - 27.07.2011, 12:23
RE: val(sgnl) vermeiden - Martin Heller - 27.07.2011, 13:49
RE: val(sgnl) vermeiden - Puma - 27.07.2011, 18:49
RE: val(sgnl) vermeiden - NWOmason - 28.07.2011, 06:29
RE: val(sgnl) vermeiden - Puma - 28.07.2011, 15:58
RE: val(sgnl) vermeiden - Kiesch - 01.08.2011, 12:58
RE: val(sgnl) vermeiden - rolfk - 05.08.2011 07:18
RE: val(sgnl) vermeiden - Kiesch - 05.08.2011, 08:18

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  EOF Fehler vermeiden chrissy 6 5.778 13.12.2016 08:26
Letzter Beitrag: chrissy
  Polling von Curser-Position in Waveform Graph vermeiden UFPhC 11 8.949 16.10.2014 12:00
Letzter Beitrag: Trinitatis
  Wie sehr großen Cluster vermeiden? Matze 10 9.443 31.10.2013 17:21
Letzter Beitrag: macmarvin
  Wert von numer. Bedienelement kontinuierlich erhöhen (Sprung vermeiden) lemmo 3 5.882 28.04.2011 18:14
Letzter Beitrag: Lucki
  Express-VIS - Warum sollte man sie vermeiden? Matze 8 8.246 28.04.2010 12:00
Letzter Beitrag: Matze
  Schieberegister vermeiden skywalker 2 3.942 26.01.2010 13:07
Letzter Beitrag: Lucki

Gehe zu: