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 

XY-Graph, Speicheroptimierung



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!

30.07.2007, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 30.07.2007 09:42 von eg.)
Beitrag #1

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
XY-Graph, Speicheroptimierung
Hallo Leute. Um die Daten auf einem XY-Plot anzuzeigen benutze ich auf dem Bild dargestellte methode (Dank an Jens
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=18889 ). Nun gefallen mir die benutzten Build Array VIs nicht so, weil diese das Array dynamisch reallokieren (glaube ich) und damit die Reccourcen (CPU-Zeit und Speicher) fressen. Wie kann man es noch optimieren?

eg


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  XY.vi (Größe: 20,86 KB / Downloads: 168)

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.07.2007, 10:53
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
XY-Graph, Speicheroptimierung
Hallo, Eugen,

das passt doch genau auf das Ringpuffer-Beispiel von i2dx:

z.B. mal hier verlinkt
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=29521

MfG, 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
30.07.2007, 11:03
Beitrag #3

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
XY-Graph, Speicheroptimierung
' schrieb:Hallo, Eugen,

das passt doch genau auf das Ringpuffer-Beispiel von i2dx:

z.B. mal hier verlinkt
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=29521

MfG, Jens


Nicht schlecht, sogar sehr gut mit einem Nachteil: man kann zur Laufzeit nicht sagen wie viele Daten man sehen möchte. Oder doch?

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.07.2007, 11:12
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
XY-Graph, Speicheroptimierung
' schrieb:Nicht schlecht, sogar sehr gut mit einem Nachteil: man kann zur Laufzeit nicht sagen wie viele Daten man sehen möchte. Oder doch?
Kann ich dir erst mal nicht sagen, wusste auch nur, das dieses Ringspeicher-Bsp. exisitert. Aber geht bestimmt. Musst dich halt mal reindenken.

MfG, 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
30.07.2007, 11:30 (Dieser Beitrag wurde zuletzt bearbeitet: 30.07.2007 11:34 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
XY-Graph, Speicheroptimierung
Habe leider das Buch mit dem Lehrbeispiel drin verborgt, das hätte ich dir gern kopiert. Vor Urzeiten habe ich das Beisoiel mal gepostet,
Es funktioniert jedenfalls so:
1. Das Schieberegister wird (statt mit eine Leerrarray) mit einem ausreichend großen Array intitialisiert, mit Nullen drin. Mit der Größe muß man nicht kleinlich sein, jedenfalls so groß daß es immer reicht.
2. Bei jeden Durchlauf wird mit der Funktion "Teilarray ersetzen" der Reihe nach der Index 0,1,2 durch den Wert ersetzt. (Es muß eine Zählvariable inkrementiert werden, die auch ein Schieberegister benötigt)
3. Wenn die gewünschte Anzahl erreicht ist, wird der Array-Bereich, der nur Nullen enthält, weggeschnitten und der Rest verwendet. (Die Information, bei welchem Index die Nullen beginnen, steckt in der Zählvariablen.) Die Zählvariable wird auf Null gesetzt und ein neuer Zyklus kann beginnen.

Im Idealfall ist die Anzahl von Werten immer konstant, und dann kann man natürlich gleich auf die exakte Arraygröße initialisieren und braucht nichts abzuschneiden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: