LabVIEWForum.de
Hintergrundfarbe ändern ohne Eigenschaftsknoten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Hintergrundfarbe ändern ohne Eigenschaftsknoten (/Thread-Hintergrundfarbe-aendern-ohne-Eigenschaftsknoten)

Seiten: 1 2


Hintergrundfarbe ändern ohne Eigenschaftsknoten - Jasper - 12.02.2013 13:01

Hallo,

gibt es eine Möglichkeit die Hintergrundfarbe von Anzeeigeelementen programmatisch zu ändern, ohne dabei Eigenschaftsknoten zu benutzen?

Die Knoten sind mir zu langsam wenn ich mehrere Elemente umfärbe...

gruß

Jasper


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - jg - 12.02.2013 13:11

Nein.

Höchstens folgende "Krücke", die das FP insgesamt aber auch nicht schneller macht: Elemente sind durchsichtig und dahinter liegen Color-Boxen. Aber dann liegen LabVIEW-Controls übereinander, das macht das Zeichnen des FP auch nicht schneller.

Oder du verwendest die PropertyNode "Defer Panel Updates", dann geht das Setzen von vielen Eigenschaften auch sehr schnell.

Gruß, Jens


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - Jasper - 12.02.2013 14:27

Mhhh wenn ich Defer Panel Updates benutze ist die Schleife nurnoch grob ein Drittel so schnell.

Ich hab jetzt die Fehlerleitung durch sämtliche Eigenschaftsknoten durchgeschleift damit dann alle Gleichzeitig gesetzt werden.

Ich kann das VI hier leider nicht posten...


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - Jasper - 12.02.2013 15:55

Ich darf meinen letzten Post leider nicht mehr editieren.

Ich hab jetzt mal ein Screenshot angehängt. Das SubVi in der Mitte liefert einfach nur Cluster von Strings und Farben die ich dann verteile.
Die erste False-Konstante setze ich natürlich auf True wenn ich die Verzögerung benutzen will.

Kann es sein das die Ausführung durch parallele Schleifen beeinflusst wird die auch auf dem FP arbeiten?
Ich denke allerdings, dass diese dann auch einfach verzögert werden bis ein Schleifendurchlauf vorrüber ist. Richtig?


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - GerdW - 12.02.2013 16:07

Hallo Jasper,

es ist keine gute Idee, die Labels von PropertyNodes zu verstecken oder gar zu löschen. Woher weißt du nun, welche PN zu welchem Indicator gehört???

Zitat:Kann es sein das die Ausführung durch parallele Schleifen beeinflusst wird die auch auf dem FP arbeiten?
Wenn du einen SingleCore-Prozessor hast, bestimmt...

Zitat:Ich denke allerdings, dass diese dann auch einfach verzögert werden bis ein Schleifendurchlauf vorrüber ist. Richtig?
Die Verzögerung mittels DeferPanelUpdate bezieht sich nicht auf den Schleifendurchlauf. Damit wird das Zeichnen des FPs verzögert, welches LabVIEW unabhängig von deinem VI im Hintergrund erledigt...


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - Jasper - 12.02.2013 16:23

Zitat:es ist keine gute Idee, die Labels von PropertyNodes zu verstecken oder gar zu löschen. Woher weißt du nun, welche PN zu welchem Indicator gehört???

Gelöscht hab ich sie nicht Wink Die Anschlüsse sind so korrekt und wenn ich da nochmal ranmüssen sollte kann ich sie ja wieder einblenden.

Zitat:Wenn du einen SingleCore-Prozessor hast, bestimmt...
Gut hab ich nicht Wink

Zitat:Die Verzögerung mittels DeferPanelUpdate bezieht sich nicht auf den Schleifendurchlauf. Damit wird das Zeichnen des FPs verzögert, welches LabVIEW unabhängig von deinem VI im Hintergrund erledigt...

So hatte ich das nicht gemeint. Meine Frage war wenn ich in einer Schleife die FP Verzögerung aktiviere, dann meine PN durchlaufe und die Verzögerung dann wieder deaktiviere.
Werden dann FP-Aktionen aus parallelen Schleifen auch verzögert? Das könnte ja dann die Ursache für die plötzlich so miserable Leistung sein.

Die anderen Schleifen arbeiten nicht mit PNs, bearbeiten aber "ganz normal" Anzeigeelemente.


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - GerdW - 12.02.2013 16:25

Hallo Jasper,

Zitat:Meine Frage war wenn ich in einer Schleife die FP Verzögerung aktiviere, dann meine PN durchlaufe und die Verzögerung dann wieder deaktiviere. Werden dann FP-Aktionen aus parallelen Schleifen auch verzögert? Das könnte ja dann die Ursache für die plötzlich so miserable Leistung sein.
Die FP-Aktionen (Zugriff auf weitere PNs?) werden eher beschleunigt als verzögert: die PNs müssen ja, solange DeferPanelUpdate aktiv ist, nicht warten, bis LabVIEW wirklich das FP neu gezeichnet hat! (Bzw. LabVIEW muss nicht nach jedem PN-Zugriff das Neuzeichnen des FPs anstoßen...)

Nochmal: DeferPanelUpdate verzögert nicht die Ausführung der PNs, sondern das Neuzeichnen des FPs, welches LabVIEW im Hintergrund erledigt...


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - jg - 12.02.2013 16:49

(12.02.2013 16:25 )GerdW schrieb:  Nochmal: DeferPanelUpdate verzögert nicht die Ausführung der PNs, sondern das Neuzeichnen des FPs, welches LabVIEW im Hintergrund erledigt...
Das mit dem "im Hintergrund erledigen" stimmt nicht ganz, zumindest bei Verwendung von PropertyNodes. Jedes Setzen einer PropertyNode erzwingt ein FP-Update und die PropertyNodes laufen IMMER im UI-Thread von LabVIEW.

Deshalb ist das Setzen von vielen PropertyNodes so langsam.

Und genau deshalb weicht man dann auf "Defer Panel Update" aus. Zuerst setzt man es auf TRUE, verschiebt somit die erzwungenen FP-Updates, ändert dann die Eigenschaften, und setzt dann "Defer Panel Update" wieder auf FALSE. Dadurch wird nur 1x das FP neugezeichnet, und das geht jetzt deutlich schneller.

Gruß, Jens


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - Jasper - 13.02.2013 09:55

Zitat:Und genau deshalb weicht man dann auf "Defer Panel Update" aus. Zuerst setzt man es auf TRUE, verschiebt somit die erzwungenen FP-Updates, ändert dann die Eigenschaften, und setzt dann "Defer Panel Update" wieder auf FALSE. Dadurch wird nur 1x das FP neugezeichnet, und das geht jetzt deutlich schneller.

Genau das klappt bei mir nicht. Anstatt schneller zu werden dauert es 3 Mal so lang.

Ich werd wohl noch ein bisschen rumprobieren müssen.

gruß

Jasper


RE: Hintergrundfarbe ändern ohne Eigenschaftsknoten - GerdW - 13.02.2013 10:20

Hallo Jasper,

da bleibt wohl nur übrig, mal die relevanten VIs hier anzuhängen (am besten für LV2011...)!