LabVIEWForum.de
Speicherprobleme LV 2013 - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Speicherprobleme LV 2013 (/Thread-Speicherprobleme-LV-2013)

Seiten: 1 2


RE: Speicherprobleme LV 2013 - tschaka81 - 19.06.2014 17:45

Hi

Natürlich^^ Wall 32 GBit und nicht GByte Tongue

Aber unabhängig davon ist mir eben noch was interessantes aufgefallen.

Ich hatte ja in meinem ersten Beitrag den Cluster durch eine Clusterkonstante initialisiert. Wie ich erwähnt hatte funktionierte das Ganze nicht. Ich habe heute mal ausprobiert was das System macht wenn ich das Array über die Array initialisieren Funktion erstelle. Speichertechnisch sollte das in beiden Fällen identisch sein. Allerdings konnte ich so ohne Probleme das 4096x4096 Array innerhalb des Clusters erstellen. Insgesamt blieb der Speicher sogar bei einigen hundert Megabyte. Erst wenn ich ein Ausgabeelement des Clusters hinzugefügt habe ist der Speicher auf 1,7 Gbyte hochgeschnellt. Kann es sein das Labview für jedes Anzeigegerät/Eingabegerät/Konstante im FP eigens seinen Speicher reserviert und die da herauskommenden Leitungen diesen Speicher noch einmal verwenden?

Andere Frage dahingehend: Wenn meine Vermutung von oben stimmt: Wie kann man ohne Copy der Daten eines solchen Clusters diese von einer Schleife in eine andere senden. Gibt es die Möglichkeit einer Referenz ohne Anzeige oder Eingabeelement?

Schöne Grüße


RE: Speicherprobleme LV 2013 - tschaka81 - 19.06.2014 18:25

Ach was mir dazu noch aufgefallen ist: Wenn ich die Leitung aus dem erstellten Array in irgendeine Struktur weiterleiten will, steigt der Speicher dramatisch an. Da ist es im übrigen egal in welche Struktur ich die Leitung hineinbringe. Der Speicher nach dem initialisieren scheint im übrigen auch der erwartete Speicher zu sein. Was also passiert in den Strukturen? Beliebige Kopien?


RE: Speicherprobleme LV 2013 - jg - 20.06.2014 09:50

Zitat aus Beitrag #2:
(13.06.2014 15:00 )jg schrieb:  1x Frontpanel-Element, Kopie.
Zumindest, wenn am Ende das Frontpanel sichtbar ist.
---
Array-Draht verzweigen oder ungünstig in eine Struktur weiterleiten -> Kopie!
Hier mal ein paar Kopie/Nicht-Kopie Screenshots:
[attachment=50075]
Durch das Zusammenfassen mehrere Arrays in einem Cluster machst du dir die Speicherverwaltung nicht einfacher, da du immer die gesamte Struktur an SubVIs weitergeben musst, um Datenkopien zu vermeiden.

Versuche so weit wie möglich mit InPlace-Strukturen zu arbeiten. Und ich verweise auch nochmal auf den Beitrag von rasta, schau dir DVR an...

Gruß, JEns


RE: Speicherprobleme LV 2013 - rasta - 21.06.2014 07:16

(19.06.2014 17:45 )tschaka81 schrieb:  Andere Frage dahingehend: Wenn meine Vermutung von oben stimmt: Wie kann man ohne Copy der Daten eines solchen Clusters diese von einer Schleife in eine andere senden. Gibt es die Möglichkeit einer Referenz ohne Anzeige oder Eingabeelement?

Schöne Grüße

Hallo tschaka,
zum Einstieg in das Thema DVR:

http://www.labviewforum.de/Thread-Guter-Umgang-mit-grossen-Datensaetzen-mehrere-20Megapixel-Fotos

Dein Cluster ist der Eingang für "New Data Value Reference", dessen Ausgang ist ab jetzt Dein Control/Indicator für alle weiteren Main/sub Vis.
[attachment=50083]
Zugriff auf die Daten hast Du nur mit der "In Place Element Structure" border Node "Data Value Reference Read / Write Element ".Bei Programmende "Delete Data Value Reference Function" nicht vergessen.
[attachment=50081][attachment=50082]
Gruß
Ralf