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 

Subpanel Performance



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!

02.05.2013, 05:36
Beitrag #1

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
Subpanel Performance
Hallo,

ich habe hier eine Performance Schwierigkeit bei der mir bestimmt jemand weiterhelfen kann.

Die Situation ist folgende:
Es gibt ein TopLevel Vi welches ein Subpanel hat. In dem Toplevel Vi und Sub Sub...Vi`s läuft eine Steuerung ab.
Dabei wird über das Subpanel ein "Anzeige-Vi" aufgerufen, welches einige Graphen mit teilweise sehr vielen Messwerte anzeigt.
Das Subpanel deswegen weil ich keine Software möchte welche x Fenster öffnet, eine Software ein Fenster.

Jetzt zur Performance:
Ist das Anzeige-Vi, also die Graphen, mit sehr vielen Werten gefüllt, wird das Steuerung (z.B. Messwerte abtasten, Messkanäle schalten...) langsamer. Wird das Subpanel nicht-sichtbarer geschalten läuft die Steuerung wieder flüssiger bis das Subpanel mit dem Anzeige Vi wieder per Eigenschaft-Knoten sichtbar gesetzt wird.

Das Anzeige Vi läuft an sich asynchron nur ist eine "Frontpanel Verbindung" mit dem Toplevel Vi vorhanden.
Gibt es Einstellungen bei der dies speichertechnisch getrennt werden kann?
Das Anzeige Vi wird per Referenz gestartet. Bei dem open Ref habe ich keinen Wert für die Option vorgegeben, gibt es hier eine Möglichkeit die Performance zu verbessern?

Vielen Dank für Eure Meinungen und Vorschläge.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.05.2013, 05:44 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2013 05:46 von Holy.)
Beitrag #2

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Subpanel Performance
Hat dein Anzeige-VI vielleicht irgendeine Abhängigkeit zu deinem Steuer-VI? Du wirst ja sicher die Daten die dort erfasst werden auch im Graphen mit anzeigen?! Im Allgemeinen dauert das Zeichnen eines Graphen mit sehr vielen Datenpunkten seine Zeit. Aufgrund der Auflösung deines Monitors kannst du aber eigentlich nicht erkennen ob da nun 2000 Datenpunkte oder 1 Million drin sind. Ein weiterer Punkt ist die Aktualisierungsrate deiner Anzeige. Mehr als ~30 Aktualisierung kannst du optisch nicht erfassen und das ist oftmals schon mehr als sinnvoll.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2013, 05:54
Beitrag #3

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: Subpanel Performance
Die Daten werden vom Steuer Vi per Queue geschrieben. Das Anzeige Vi hat ein SubVi welches parallel läuft und die Daten per Queue empfängt und diesen dann in ein SR legt. Von diesem SR wird der neue Messwert zu den bisherigen gesammmelten angehängt und die Daten von Graph xy mit einer Graphreferenz in den Graph xy geschrieben.

Die einzigste Abhängigkeit die ich weiss ist das an der Stelle wo das SteuerVi das AnzeigeVi per Ref lädt es ein Disabled Case gibt in der der das AnzeigeVi im disabled Case liegt (für Testzwecke ohne Start per Referenz).
Ansonsten ist mir bisher keine Verbindung aufgefallen.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2013, 18:29
Beitrag #4

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Subpanel Performance
Ich glaube das beste wäre wenn du uns das Anzeige VI mal zeigen könntest. Im Allgemeinen würde ich folgende mögliche Ursachen vermuten:
  • Zuviele Daten im Graph
  • Aktualisierung nach jeden Punkt und das sehr oft
  • Beide oberen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2013, 20:17
Beitrag #5

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Subpanel Performance
(02.05.2013 05:54 )GT123 schrieb:  ... die Daten von Graph xy mit einer Graphreferenz in den Graph xy geschrieben.

Das _kann_ (muss aber nicht) langsam sein, da das Schreiben immer ein UpdateDisplay (synchron), im Gegensatz zu Schreiben in Control, ausführt.
Wie groß ist denn der Unterschied, wenn dein VI nicht als Subpanel, sondern an gleicher Position und sichtbar mit eigenem Fenster ausgeführt wird?
Es könnte sein, dass unabhängig von Subpanel oder nicht, der UI-Thread insgesamt mit dem Zeichnen kaum noch nachkommt.
Bei sehr UI-lastigen VIs _kann_ es helfen das komplette VI in den Ausführungseinstellungen in den UI-Thread zu verlegen. Damit werden dann (hoffentlich) der Overhead der (zu) häufigen Threadwechsel minimiert. Das gilt im Übrigen auch für VIs die sehr viele DLL Aufrufe im UI-Thread enthalten. Die Maßnahme _kann_ allerdings auch noch hinten losgehen :-)
Im Zweifel hilft nur sehr detailliertes Nachmessen und immer wieder hinterfragen, ob man gerade Schmarrn misst.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.05.2013, 07:04
Beitrag #6

GT123 Offline
LVF-Stammgast
***


Beiträge: 432
Registriert seit: Mar 2009

2018
2008
DE_EN


Schweiz
RE: Subpanel Performance
Hallo zusammen,
ich vermute es liegt an der (zu häufigen) Aktualisierung der Graphen vor allem wenn die Anzahl der Wert steigt.
Denn mit steigender Anzahl der Wert in den Graphen wird es langsamer. Und wenn ich bei allen Graphen (die schon einige Werte haben) die X-Achse zoome so damit kein Wert mehr zu sehen ist dann läuft die gesamte Steuerung wieder flüssig.
Vorab sind für mich noch zwei Dinge nicht ganz klar:
-Wird nur der Graph neu gezeichnet bei dem mit der Property Eigenschaft was geändert wird oder das ganze FP also alle Elemente?
-....kann_ es helfen das komplette VI in den Ausführungseinstellungen in den UI-Thread zu verlegen.
Wie ist das zu verstehen?

Ich könnte mit DeferUpdate die Aktualisierung bei jedem Messwert unterdrücken wenn z.B. der Zeitstempel des letzten Messwert vor weniger als 1s eingetroffen ist. Oder irgendwie alle 2s aber natürlich nur wenn Messwerte reinkommen...

Ich muss da jetzt noch einiges Testen und probieren gerne erwarte ich schon eure Antorten/Meinungen dazu.

Grüsse
GT123
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.05.2013, 18:34
Beitrag #7

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Subpanel Performance
(03.05.2013 07:04 )GT123 schrieb:  -Wird nur der Graph neu gezeichnet bei dem mit der Property Eigenschaft was geändert wird oder das ganze FP also alle Elemente?
Es wird der Bereich der sich geändert hat neu gezeichnet. In deinem Fall die Graph-Fläche.

(03.05.2013 07:04 )GT123 schrieb:  -....kann_ es helfen das komplette VI in den Ausführungseinstellungen in den UI-Thread zu verlegen.
Wie ist das zu verstehen?
Threadwechsel verschlechtern deine Performance. Die Grundidee ist somit diese zu vermeiden. Das kann muss aber nicht helfen.

(03.05.2013 07:04 )GT123 schrieb:  Ich könnte mit DeferUpdate die Aktualisierung bei jedem Messwert unterdrücken wenn z.B. der Zeitstempel des letzten Messwert vor weniger als 1s eingetroffen ist. Oder irgendwie alle 2s aber natürlich nur wenn Messwerte reinkommen...
DeferUpdate verhindert alle Aktualisierungen des Panels. Das betrifft dann somit nicht nur deinen Graphen.
Überlegenswert ist es auch immer das UI vom restlichen Code zu trennen. Dann kannst im entsprechenden UI Thread dann langsamer aktualisieren, ausdünnen und Daten reduzieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Subpanel Kommunikation ares2013 3 3.808 04.12.2019 12:23
Letzter Beitrag: Lien_Alere
  Probleme mit Performance (Berechnungen und Grafik) catbull 5 4.720 21.07.2018 10:13
Letzter Beitrag: IchSelbst
  Kommunikation zwischen SubVis im Subpanel und GUI Rene123 12 11.230 30.10.2017 23:28
Letzter Beitrag: IchSelbst
  Performance beim Betrieb über WLAN Heber 9 5.978 22.08.2017 14:28
Letzter Beitrag: Heber
  Bestimmen, ob das VI ein eigenes Frontpanel hat oder im Subpanel angezeigt wird wladimir s 8 6.305 11.11.2016 10:31
Letzter Beitrag: wladimir s
  Subpanel und Splitter Pane GT123 15 9.947 09.09.2016 14:23
Letzter Beitrag: GT123

Gehe zu: