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 

Speicherverwendung --> immer kopieren



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!

15.12.2016, 17:01
Beitrag #1

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
Speicherverwendung --> immer kopieren
Hallo zusammen,

kann mir jemand in ein paar Sätzen erklären, wozu die Funktion Anwendungssteuerung-->Speicherverwendung--> "Immer kopieren" da ist?

In der Hilfe steht "Verschiebt den Wert am Eingang an eine andere Stelle im Speicher und gibt den Wert am Ausgang aus."

Da kann ich nicht so recht was mit anfangen.


Danke



Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.12.2016, 17:28
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Speicherverwendung --> immer kopieren
Vielleicht hilft die englische Hilfe weiter:
Zitat:Places the value of Input into a new memory location and returns the value in Output. Use this function to control the outcome of the LabVIEW compiler buffer allocation process.

Use this function when you want to control the LabVIEW compiler in order to produce a different result regarding its buffer allocations.
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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2016, 17:40
Beitrag #3

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Speicherverwendung --> immer kopieren
Ja gut - aber im Grunde steht da ja auch nur, dass die Daten im Speicher neu arrangiert werden, also an anderer Stelle neu gespeichert werden. Aber wann bzw. warum sollte für mich innerhalb der Laufzeit einer Exe dieser Wunsch aufkeimen??


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2016, 09:14
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Speicherverwendung --> immer kopieren
Hallo Marko,

Zitat:Aber wann bzw. warum sollte für mich innerhalb der Laufzeit einer Exe dieser Wunsch aufkeimen?
Beispiele:
- wenn der LabVIEW-Compiler "komische" Resultate liefert, die sich durch Einsatz dieser Funktion korrigieren lassen (es gibt da so einige Beispiele im NI-Forum)
- wenn du mit DVRs arbeiten willst und eine explizite Datenkopie benötigst

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2016, 11:00
Beitrag #5

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Speicherverwendung --> immer kopieren
Hallo Jens, hallo Gerd,

danke euch beiden erstmal.

Dann habe ich noch eine Frage, die mglw. hierzu passt. Gibt es eine Möglichkeit, den Von einer Exe bzw. einem VI belegten Speicher durch Beschreieben einer Queue / Datenwertreferenz irgendwie wieder loszuweren. Wenn ich eine Queue mit 100MB beschreibe, steigt der Arbeitsspeicher, den meine EXE benötigt gemäß TaskManager entsprechend an. Wenn ich diese Queue wieder leere, bleibt der Speicherbedarf der Exe aber erhalten.
Gibt es da eine Möglichkeit?



Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2016, 11:42
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Speicherverwendung --> immer kopieren
Hallo Marko,

Zitat:Wenn ich eine Queue mit 100MB beschreibe, steigt der Arbeitsspeicher, den meine EXE benötigt gemäß TaskManager entsprechend an. Wenn ich diese Queue wieder leere, bleibt der Speicherbedarf der Exe aber erhalten.
Das ist der LabVIEW-interne Memorymanager: angeforderter Speicher wird nicht sofort wieder freigegeben, sondern bleibt für mögliche Weiterbenutzung weiterhin verwaltet.
Stört das bei deiner Anwendung irgendwie?

Zitat:Gibt es da eine Möglichkeit?
Spiel mal mit RequestDeallocation herum. Ist aber nur als Wunsch an den Speichermanager zu verstehen, nicht als absoluter Befehl!
Und dein Programm kann damit auch langsamer werden, da der Speichermanager bei Bedarf erneut wieder Speicher vom OS anfragen muss…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.12.2016, 12:22
Beitrag #7

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Speicherverwendung --> immer kopieren
(16.12.2016 11:42 )GerdW schrieb:  Stört das bei deiner Anwendung irgendwie?

Hallo Gerd,

ich sammle von 4 Kameras gleichzeitig Bilddaten ein, die ich verarbeiten und darstellen muss. Da hat sich der Speicher unlängst etwas zugeschaufelt. Ist allerdings auch noch mit 2D-Arrays programmiert, die ja bei jeder Übergabe an ein SubVI eine Kopie erstellen. Das werde ich eh noch auf Datenwertreferenzen umbauen. Aber wenn sich das ganze nun bis an die Memory-Grenze hochschaukelt, dann weiß ich nicht so recht, ob es da nicht Probleme geben kann, auch wenn der Speicher schon garnicht mehr benötigt wird.
Die Funktion RequestDeallocation habe ich schon mehrfach benutzt, habe aber noch nie irgendwelche Auswirkungen am Speicher beobachten können. Ich glaub, da ist nur ne LED drinnen, die das Flag anzeigt Smile

Aber trotzdem danke erstmal!


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2016, 12:54
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Speicherverwendung --> immer kopieren
(16.12.2016 12:22 )Trinitatis schrieb:  Ist allerdings auch noch mit 2D-Arrays programmiert, die ja bei jeder Übergabe an ein SubVI eine Kopie erstellen.
Offiziell wird immer eine Kopie angelegt, aus Erfahrung muss ich sagen, bei geschickter Programmierung: Nein! Wenn du das 2D-Array nur als Draht in ein SubVI hineinführst, intern verarbeitest und dann wieder als Ausgang bereitstellst, den du dann im Aufrufer weiterverwendest, dann wird nicht zwingend eine Datenkopie angelegt.

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2016, 12:58
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Speicherverwendung --> immer kopieren
Und dann gibt's ja immer noch die Einstellung "subroutine" für ein subVI…

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
  Daten aus Blockdiagramm kopieren eincremerle 2 3.892 09.11.2015 15:13
Letzter Beitrag: Lucki
  Elemente aus Blockdiagramm von einem vi in ein anderes vi kopieren funktioniert nicht keep_smile 6 7.049 17.04.2015 11:47
Letzter Beitrag: keep_smile
  Kopieren von VI´s (verzeichnissen) Michael1984 2 8.684 04.02.2014 14:19
Letzter Beitrag: Kasi
  Verbesserungsvorschläge bezüglich Speicherverwendung YYYs 3 3.537 12.07.2012 09:18
Letzter Beitrag: jg
  Datei auf Netzwerkpfad kopieren via cmd line dimitri84 5 12.472 30.05.2012 22:11
Letzter Beitrag: dimitri84
  Variablen kopieren? seitzo 2 4.395 10.11.2011 15:08
Letzter Beitrag: seitzo

Gehe zu: