QWT - Erfahrungen mit performance - real time?

Alles rund um die Programmierung mit Qt
Antworten
looki
Beiträge: 10
Registriert: 7. November 2007 14:58
Wohnort: Nürnberg

QWT - Erfahrungen mit performance - real time?

Beitrag von looki »

Hallo,
ich habe (unter Linux) ein QMainwindow, zwei QwtPlots mit jeweils einer Realtime - Kurve am laufen.
Nachdem ich aus dem Beispiel realtime_plot/incrementalplot die dazugehoerigen classen uebernommen hatte, zeigt es auch ein paar daten an.
Leider muss ich feststellen, dass die Anzeige seeeehr langsam wird und ich moechte noch jede Menge mehr Fenster dazubringen ...
Gibt es dazu Erfahrungen? Kann jemand helfen?

Danke fuer Hilfe.

looki
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

Als erstes würde ich empfehlen das data_plot Beispiel zu starten, um zu schauen, wie flüssig das auf Deinem System läuft. ( In diesem Beispiel wird der Plot bei jeden Update komplett neu gezeichnet. ) Wenn das bereits Probleme bereitet, hast Du vermutlich ein sehr leistungsschwaches System ?

Als nächstes solltest Du Dir überlegen, worin die besonderen Anforderungen Deines Plots bestehen und welche Optimierungen Du daher ergreifen willst.

Im realtime Beispiel hat man es z.B. mit sehr vielen Punkten zu tun. Die Optimierung, die hier gezeigt wird, besteht darin nur die Punkte zu zeichnen, die seit dem letzen Update hinzugekommen sind. Das bringt aber nur etwas, wenn die Skalen nicht ständig verändert werden.

Wenn Du eine vergleichbare Situation hast und im realtime Beispiel eine gute Performance erzielst, würde ich davon ausgehen, daß die Ursache(n) für den Flaschenhals in der Ansteuerung der Plot-Updates zu suchen ist. Um die zu identifizieren würde ich mit dem Debugger einen Breakpoint in QwtPlot::replot setzen und schauen, ob das nicht viel zu häufig gerufen wird.

Uwe
looki
Beiträge: 10
Registriert: 7. November 2007 14:58
Wohnort: Nürnberg

Beitrag von looki »

He Uwe,
danke fuer die schnelle Antwort.
Ich habe mir schon den aelteren Beitrag dazu durchgelesen, aber nicht genau das gefunden, was ich wollte.
Das data_plot geht bis zu 1ms sehr gut.
Ich bin auch gerade dabei die Werte als QPainter zu uebergeben und den scroll view einzubauen ...
AutoReplot ist disabled und replot() checke ich nochmal ...

Ja, eine Linie wollte ich eigentlich zeichnen ... muss ich mal weiter sehen.
Antworten