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!
Hallo,
ich verwende in meinem VI fünf 3-D Graphen auf verschiedenen Register Karten. Da mein PC ab den Punkt wo er "einmal" alle Graphen (15 XY-Graphen) und die 3-D Graphen zeichnen soll extrem langsam wird, habe ich mal im Task-Manager nachgeschaut und festgestellt, das vorwiegend nur 1-Kern beansprucht wird.
Meine Frage:
Wenn ich eine exe erstelle bzw. später eine Installationsdatei, werden dann alle Kerne genutzt oder ist das jetzt nur wegen der Umwicklungsumgebung, bzw. benötigt die Umwicklungsumgebung extra Rechen Leistung?
(01.09.2015 15:11 )xrzr schrieb: Meine Frage:
Wenn ich eine exe erstelle bzw. später eine Installationsdatei, werden dann alle Kerne genutzt oder ist das jetzt nur wegen der Umwicklungsumgebung, bzw. benötigt die Umwicklungsumgebung extra Rechen Leistung?
Hallo,
Es ist egal, ob du dein VI in der IDE oder später in der EXE ausführst. In neueren LV-Versionen gibt es die Möglichkeit, bestimmte Tasks bstimmten CPU-Kernen zuzuweisen (zeitgesteuerte Schleifen)
Außerdem musst du ein VI, das parallel mehrfach ausgeführt werden soll auf ablaufinvariant setzen. (STRG+I) --> Ausführung
LabVIEW ist schon seit Jahr(zehnten) multi-threading und auch multi-core fähig. Allerdings musst du es auch so programmieren, ansonsten gilt "THINK DATAFLOW". Und einen User-Interface-Thread gibt es nur einen!
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!
"Außerdem musst du ein VI, das parallel mehrfach ausgeführt werden soll auf ablaufinvariant setzen. (STRG+I) --> Ausführung"
Es handelt sich um ein VI mit verschiedenen Registerkarten wo die ganzen Graphen drin verteilt sind. Kannst du das mit dem Ablaufvariant mal genauer erklären? (Warum und Wie)
Wenn du in einem VI irgendwelche Berechnungen ausführst, und dieses VI 2 mal nebeneinander im übergeordneten VI platzierst, dann können diese beiden VIs (die ja eigentlich ein- und dasselbe VI sind) parallel ausgeführt werden, wenn es keine Datenabhängigkeit zwischen ihnen gibt. Dann muss aber dieses SubVI auf ablaufinvariant gesetzt werden, woraufhin LV den Code kopiert. Ansonsten kann LV dasselbe VI nur 2 mal nacheinander ausführen.
Wenn es aber darum geht, Graphen aufzueichnen, dann muss der eine UI Thread angesprochen werden, der die Graphen nur nacheinander aufzeichnen kann.
Dann hilft nur Datenreduktion - (prüfe Monitorpixel <-> Aufzeichnungspixel)
Zitat:ich verwende in meinem VI fünf 3-D Graphen auf verschiedenen Register Karten. Da mein PC ab den Punkt wo er "einmal" alle Graphen (15 XY-Graphen) und die 3-D Graphen zeichnen soll extrem langsam wird
Ich frage mich, warum dein Programm alle 15 XY-Graphen und die 5 3D-Graphen gleichzeitig zeichnen soll, wenn diese sich doch auf 5 Registerkarten verteilen!?
Hälst du es wirklich für sinnvoll, Graphen zu zeichnen, die der User überhaupt nicht sehen kann?