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 

Speicherallozierung - 1D/2D/3D-Arrays



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!

10.08.2009, 11:48
Beitrag #4

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Speicherallozierung - 1D/2D/3D-Arrays
' schrieb:Vor allen Dingen wird der Speicher als hintereinanderliegender Speicher gebraucht, so dass auch schon mal "recht kleine" Felder nicht angelegt werden können. Wird das Array an ein SubVI überreicht, so wird der Speicher noch mal gebraucht um die Daten zu kopieren. Hierzu gibt es bei NI geeignete Dokumente die das beschreiben. Um längere Arrays im Speicher haben zu können (z. B. 600 Bilder mit 658 X 496 Bildpunkten) bedarf es ein paar Tricks. Ich habe dazu kein 3D Array angelegt sondern ein Array (mit 600 Frames) von einem Cluster mit einem 2D-Array (von 658 x 496 Bildpunkten). Jetzt legt LV die Bilddaten nicht mehr hintereinander weg in den Speicher, sondern reserviert für jedes einzelne Bild einen eigenen Block, die irgendwo im Speicher sein können. Zusätzlich ist das ganze Array in einer While-Schleife mit Shift-Register untergebracht und ich greife per Index nur noch auf einzelne Bilder zurück.

Beim Rücksprung aus einem SubVI kann man von LV eine Speicherfreigabe anfordern: Application control > Memory Control > Request Deallocation.vi

Der Block kann aber nicht irgendwo im Speicher sein. LV kann nur einen zusammenhängenden Speicherbreich verwalten. Die Bilder liegen können also nur igendwo da drinnen rumliegen.

Die Speicherfreigabe ist aber mehr eine Bitte als Befehl. LV muss das nicht machen.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Speicherallozierung - 1D/2D/3D-Arrays - schrotti - 10.08.2009 11:48

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Auswahl eines Arrays anhand des Wertes eines zweiten Arrays treffen alan 2 4.356 19.02.2015 16:12
Letzter Beitrag: alan
Bug Arrays... immer wieder Arrays nurso 6 6.928 15.08.2014 10:39
Letzter Beitrag: Lucki
  Array of Cluster(Arrays) nach Cluster(Concatenate Arrays) rasta 7 9.190 18.12.2008 12:33
Letzter Beitrag: rasta

Gehe zu: