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 

Dieses Thema hat akzeptierte Lösungen:

Signalverlaufsdiagramm und die CPU Auslastung



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!

26.01.2024, 14:05
Beitrag #1

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
Signalverlaufsdiagramm und die CPU Auslastung
Hallo Zusammen,

es gibt schon einige Threats aber irgendwie finde ich mich mit meinem Problem nicht wieder Sad. Bitte verzeiht mir das.
(Ich bin aber auch echt ne Niete wenn's um suchen geht Blink)


Sodele...

Einleitung:
Von einem Roboter werden über UDP Daten an LV übergeben und in ein Signalverlaufsdiagramm geschrieben. Das nehme ich übrigens auch als Datenpuffer (Historiendaten)
um nachher ein LVM abzuspeichern (u.a.). Die Datenspeicherung und alles außenrum funktioniert eigentlich klasse. Hier und da noch ein paar Fehlerchen und verbesserungspotential
aber es läuft gut. Paralell wird der Prüfling über XNET LIN angesteuert und auch Daten ausgelesen. Alles läuft per Laptop (DELL/ intel Core i5)

Es geht um folgendes:
Die Livedarstellung der Messdaten mach mir rießige Probleme. 5 Plots im Livebild über 50 Sekunden bei 4ms/250hz dargestellt haut mir den CPU auf über 30% und die
ganze Applikation wird so träge, dass diese kaum noch zu bedienen ist. IUnd irgendwann kackt natürlich auch die UDP Verbindung und mein LIN wegen timeout ab.

Ich habe mal ein ganz simples Beispiel angehängt wo man deutlich sieht, dass rein die grafische Darstellung des Signalverlaufsdiagramms über längere Zeit
die CPU auf über 30% auslastet. Schaltet man, durch umschalten der Regiisterkarte , die im Hinterrund keinerlei Funktion hat, die grafische Darstellung des Signalverlaufdiagramms
ab, dann sinkt die CPU Last wieder auf unter 5%.

Also: Dass das Signalverlaufsdiagramm die CPU belastet ist ja somit eigentlich klar. Aber wie bekomme ich das besser hin? Wie bekomme ich eine Liveansicht über ca. 60 Sekunden,
die die CPU nicht so übertrieben belastet?


Wäre über ein Tips wirklich dankbar. Grüße und ein schönes Wochenende
Marco


Angehängte Datei(en)
20.0 .vi  DIA bad performance.vi (Größe: 249,39 KB / Downloads: 99)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.01.2024, 14:41
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalverlaufsdiagramm und die CPU Auslastung

Akzeptierte Lösung

Hallo Marco,

herzlich willkommen im Forum!

Zitat:Daten an LV übergeben und in ein Signalverlaufsdiagramm geschrieben. Das nehme ich übrigens auch als Datenpuffer (Historiendaten)
Da bin ich kein Freund von…

Zitat:Die Livedarstellung der Messdaten mach mir rießige Probleme. 5 Plots im Livebild über 50 Sekunden bei 4ms/250hz dargestellt haut mir den CPU auf über 30% und die ganze Applikation wird so träge
Wie groß ist die Historie gesetzt?
5*50s*250Hz=62500 Samples: wie groß ist dein Chart?
Wenn dein Chart 500 Pixel breit ist, dann ist es nicht sinnvoll mehr als 1000 Samples/Plot anzuzeigen!

Deshalb bin ich ein Freund davon, die Messdaten in einem eigenen Buffer zu halten und für die flüssige Anzeige in einem Graph zu dezimieren…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2024, 20:09
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalverlaufsdiagramm und die CPU Auslastung
Nachtrag:
Die Historie ist auf eine Größe von 16500 Samples gesetzt und du zeigst 10 Plots, das macht 10*16500=165k Samples, die einen Speicherbedarf von 165k*8Byte=1,32MB haben. Und diese 1.32MB werden ständig im Speicher hin- und hergeschoben…
Das ist einfach nicht sinnvoll!

Bei mir habe ich nur 20% CPU-Last, entweder ist meine CPU schneller oder der Grafiktreiber besser… Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2024, 10:34
Beitrag #4

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 217
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Signalverlaufsdiagramm und die CPU Auslastung
Morgen Marco,

siehst du denn sinnvolle Linien auf dem richtigen Diagramm? In deinem Beispiel ist es ja quasi nur noch ein dicker Balken im Diagramm.
Ist die Menge an Daten wirklich nötig, oder kann wie Gerd es meint reduziert werden?

In den Diagrammen die ich verwende werden die Daten nur 1/s übergeben an das Diagramm mit einer 30 s Historie, allerdings erwarte ich auch keine starken Signaländerungen innerhalb dieser Sekunde weil die Sensoren gar nicht so schnell reagieren können.

Wie werden denn die Daten übergeben in die Anzeige, in einer Queue und einer eigenen Struktur? Wenn ja kann man hier eine mini Auswertung für das Diagramm zu machen und nur 1/s an das Diagramm übergeben.

Grüße Timo

Ich habe 40% last und ohne Anzeige aber schon 13%, wird Zeit für die Rente meines Laptops -.-'

Justieren ist dem Gerät sagen was es anzeigen soll, kalibrieren ist die Kontrolle dieser Anzeige. Eichen ist ein längerer Prüfprozess und darf nur das Eichamt!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2024, 11:07 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2024 11:10 von baer1775.)
Beitrag #5

baer1775 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jan 2024

2022
2000
DE


Deutschland
RE: Signalverlaufsdiagramm und die CPU Auslastung
Vielen Dank schon mal für die hilfreichen Antworten Smile

Ich glaube ich muss das wirklich umprogrammieren und die eigentliche Datenspeicherung von der Anzeige trennen.
WIe geschrieben, nutze ich gerade beides gleichzeitig. Ich zeige an und nehme dann die Histroriendaten und ziehe daraus
noch diverse einzelne Indformationen z.B. Strompeaks, Durchschnittstemperatur oder auch verschiedene Zeiten.

Genau deshalb benötige ich ja auch die Historienlänge in vollem Umfang mit genau 16 Plots a 250hz.

Witzig ist irgendwie auch, dass wenn man die Plots ausbelndet bzw. nicht anwählt, sich nichts an der CPU Last
änderd. Wie wqenn die Plots dann eben im Hintergrund trotzdem zur Darstellung berechnet werden würden .

Ich hoffte, man könnte nur die Anzeigeoptionen etwas tunen Blush oder eben durch ein anderes DIA die Perfromance verbessern.

Grüße Marco
(26.01.2024 20:09 )GerdW schrieb:  Nachtrag:
Die Historie ist auf eine Größe von 16500 Samples gesetzt und du zeigst 10 Plots, das macht 10*16500=165k Samples, die einen Speicherbedarf von 165k*8Byte=1,32MB haben. Und diese 1.32MB werden ständig im Speicher hin- und hergeschoben…
Das ist einfach nicht sinnvoll!

Bei mir habe ich nur 20% CPU-Last, entweder ist meine CPU schneller oder der Grafiktreiber besser… Big Grin

Ich vermute Deine Grafikkarte ist besser. Wir haben halt hier in der Firma Standard-Laptops. Da ist nicht wirklich viel Power in der Grafikkarte Sad
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
  Limit testen - 100% CPU Auslastung olnol 8 6.241 07.09.2009 13:13
Letzter Beitrag: olnol

Gehe zu: