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 

bewegte Grafik, Leistungsprobleme



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!

02.12.2009, 11:35
Beitrag #1

leinad Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Nov 2007

8.6.1f
2006
en

08134
Deutschland
bewegte Grafik, Leistungsprobleme
Hallo liebe LabVIEW Gemeinde,

ich arbeite zur Zeit an einem Projekt, bei dem 4 Beschleunigungssensoren eingelesen werden, die Daten werden mit Hilfe eines Ladungsverstärkers / Integrierers in Geschwindigkeitssignale gewandelt.

Diese Signale werden dann in LV eingelesen und im Graphen dargestellt.
Zusätzlich werden aus den Signalen der Weg und die Beschleunigung berechnet und dargestellt.

Man Stelle sich vor, die 4 Sensoren sind an den Ecken einer Platte befestigt und diese Platte wird mit einem Schwingtisch sinusförmig erregt. Je nach Frequenz kommt es zu Resonanzen, manchmal besonders stark an einer Ecke der Platte, manchmal an der gesammten Platte, je nachdem mit welcher Frequenz die Platte erregt wird.

Jetzt zu meinem Problem:
Die Signale der Sensoren sollen graphisch dargestellt werden. Nicht nur in einem Graphen sondern auch durch eine Zeichnung der Platte.

D.h. die Platte mit den Sensoren soll in einfacher Form in LV integriert werden und am FP angezeigt werden. Es soll also möglich sein, die Bewegung der Platte direkt zu visualisieren und das permanent.

Das funktioniert soweit auch recht gut mit den LV-Bildfunktionen.

Für eine einfache Grafik, also einfaches Rechteck läuft das Programm stabil, will man aber mehr, also beispielsweise 3d - Darstellung der Platte und die Bezeichnung der Sensoren im Bild integriert, dann leidet die Performance erheblich.

Das Problem an der Sache ist, dass wirklich jeder Punkt neu gezeichnet werden muss und das immer und immer wieder. Das bedeutet, dass die komplette Zeichnung bei jedem eingelesenen Sample neu berechnet werden muss.

Hat vieleicht jemand Tipps, wie ich die Performance des Programms steigern könnte?


Grüße,

leinad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.12.2009, 13:02
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
bewegte Grafik, Leistungsprobleme
Das Bild der Platte nicht bei jedem Sample updaten sondern nur alle ~250ms oder alle X Samples. Das sollte reichen um dem Betrachter ein bewegtes Bild darzubieten.

Gruß SeBa

EDIT:
Wenn du das so machst, mach es gleich variabel und bau eine Refresh-Bedienelement ein... sowas wie ein Slider von "Refresh bei jedem Sample" bis "Refresh alle [2^64]-1 Samples Tongue...

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 13:10
Beitrag #3

leinad Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Nov 2007

8.6.1f
2006
en

08134
Deutschland
bewegte Grafik, Leistungsprobleme
das habe ich auch schon versucht,

je nachdem welchen Weg ich gehe können dabei aber 2 Fehler auftreten:

1. Daten z.B in ne queue schreiben und diese daten dann alle ~250ms anzeigen:

-> das bedeutet es schreibt 250ms lang die Daten in eine queue o.ä. und liest diese dann so schnell wie möglich aus.
-> falsche Darstellung der Bewegung (keine kontinuierliche Darstellung)

2. nur jedes x-te Sample anzeigen

-> mögliche Plattenbewegungen werden nicht dargestellt
-> besonders schlecht für "slow motion" Anzeige über z.B. eine Periode
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 13:18
Beitrag #4

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
bewegte Grafik, Leistungsprobleme
' schrieb:das habe ich auch schon versucht,

je nachdem welchen Weg ich gehe können dabei aber 2 Fehler auftreten:

1. Daten z.B in ne queue schreiben und diese daten dann alle ~250ms anzeigen:

-> das bedeutet es schreibt 250ms lang die Daten in eine queue o.ä. und liest diese dann so schnell wie möglich aus.
-> falsche Darstellung der Bewegung (keine kontinuierliche Darstellung)
-> neee... du schreibst alle 250ms ein Sample in die Queue und liest es aus

2. nur jedes x-te Sample anzeigen

-> mögliche Plattenbewegungen werden nicht dargestellt
-> Bewegungen die so schnell sind, dass das Auge sie nicht wahrnehmen kann, brauchen auch nicht dargestellt werden
-> besonders schlecht für "slow motion" Anzeige über z.B. eine Periode
-> SlowMotion muss nicht mit 1000 S/s dargestellt werden... 25 S/s (-> Fernsehn) reicht doch aus. Das ist ja sowieso etwas, was du nicht online während der Messung machst, oder?

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 13:36
Beitrag #5

leinad Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Nov 2007

8.6.1f
2006
en

08134
Deutschland
bewegte Grafik, Leistungsprobleme
Die slow motion wird bei laufendem Programm gemacht um eben genau sehen zu können wie sich die Platte bei einer bestimmten Frequenz verformt (und ob das mit den Berechnungen übereinstimmt). Dazu ist es notwendig viele Samples zu haben um diese Bewegung so genau wie möglich darzustellen. Bei der slow motion habe ich auch keine Performance einbrüche, da je die Anzeige der eingelesenen Samples extrem verlangsamt ausgegeben wird, das Programm also genug Zeit hat für die Berechnung.

Kritisch ist es eben bei der "normalen" Anzeige da dort die Grafik sehr oft neu berechnet werden muss.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 13:47
Beitrag #6

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
bewegte Grafik, Leistungsprobleme
Hast mich falsch verstanden... Du zeichnest z.B. einen Sensor mit 1000S/s auf. In der SlowMo spielst du das aber mit 25S/s ab... 1 Sekunde Echtzeit dauert in der SlowMo also 40 Sekunden.

In der normalen Anzeige zeichnest du den Sensor ja auch mit 1000S/s auf... und spielst mit 1000S/s ab. Das bedeutet 1000 Bilder pro Sekunde die du darstellst. Das meine ich mit Bewegungen die man nicht sehen kann. In diesem Fall wirst du ein flüssiges Bild bekommen, wenn du jeden 40.ten Sample darstellst.

Falls wir aneinander vorbei reden, wäre es an der Zeit man mit nem Screenshot / VI rauszurücken.

Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 14:14
Beitrag #7

leinad Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Nov 2007

8.6.1f
2006
en

08134
Deutschland
bewegte Grafik, Leistungsprobleme
Nein, wir reden nicht aneinander vorbei, du hast vollkommen recht.

Die Performance würde erheblich gesteigert, wenn ich im "normalen" Modus nur jedes X-te Sample anzeige.

Das würde bedeuten, ich müsste die Queue "umschalten", also im "normalen Modus" nur jedes X-te Sample rein und im slowmo-Modus alle Samples. Mal sehen ob das was wirdSmile

Danke erstmal für den Tipp.

Grüße,

leinad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 15:25
Beitrag #8

leinad Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Nov 2007

8.6.1f
2006
en

08134
Deutschland
bewegte Grafik, Leistungsprobleme
Ich hab jetzt das Programm so umgebaut, dass im "normal" Modus nur jedes X-te Sample "gemalt" wird und im slowmo Modus alle eingelesenen Samples aber mit Zeitverzögerung.

Funktioniert einwandfrei, vielen Dank.

Manchmal denkt man nicht an die einfachsten Sachen. Rolleyes

Grüße,

leinad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 15:32
Beitrag #9

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
bewegte Grafik, Leistungsprobleme
Top.

Dais


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.12.2009, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 28.12.2009 15:14 von sakul85.)
Beitrag #10

sakul85 Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Dec 2009

8.0
-
de

35392
Deutschland
bewegte Grafik, Leistungsprobleme
Hallo Leinad,
Ich habe einen 3d Beschleunigungssensor der mir für x,y,z einen Spannungswert ausgibt. Die Signalverläufe konnte ich auch schon erfolgreich dargestellen.

Meine Frage:
Weiterhin will ich, wie du es auch schon beschrieben hast, die Lage des Sensors im Raum visualisieren (in realtime). Der Sensor soll dabei durch ein Rechteckiges Objekt auf dem FP dargestellt werden. Leider habe ich wenig Erfahrung mit LV und kenne mich mit der Elementpallette noch nicht so gut aus. Ich habe schon einiges versucht, aber konnte keine Lösung für mein Problem finden.

Vielleicht kannst du noch mal kurz beschreiben wie du die 3d Visualisierung des Rechtecks genau realisiert hast.

Vielen Dank im Voraus!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Bewegte Objekte LabView Neuling 3 5.740 25.12.2005 22:25
Letzter Beitrag: thomas.sandrisser

Gehe zu: