Leider habe auch ich ein paar Performance- Probleme mit den QWTPlots.
Ich habe einen QVector, der mit 50 MHz (spitze!!) gefüllt wird (double werte). Werden nun mehrere Plots angezeigt steigt die CPU-Last sehr schnell auf 80%. Nach einigen sekunden stürzt dann mein gesammtes Programm ab.
Nun behaupte ich NICHT, dass das einfach an QWT liegt. Mein aktueller Wissenstand ist, dass das Problem darin liegt, dass der Qvector = QwtData = QwtArray jedesmal komplett neu gezeichnet wird.
Im Forum habe ich jetzt gelesen, dass es möglich ist, dies durch beerben der QwtData Klasse zu umgehen (allerdings schon 1 Jahr her).
Allerdings habe ich da dann ein kleines Problem:
Derzeit mache ich es so, das der Plot fortlaufend (= die Achse läuft mit), dann jedoch auch über stop der gesammte Plot angezeigt wird. Dann wird auch der Scrollzoomer aus dem Beispiel initialisiert und man kann in den Plot hineinzoomen.
1. Kann das auch am QVector selbst liegen? Eine Initialisierung mit 1.000.000 Werten ist auch noch möglich, mit 10.000.000 Werten jedoch nicht.
2. Wie kann man klug (= zeitsparend) z.B. nur jeden fünten Punkt des Vectors plotten. Der Vector wird von der Hardware beschrieben, sollten also nicht verändert werden.
Hat jemand (Uwe?
Die Tage werde ich auch mal einige Messungen durchführen um genaueres sagen zu können.
Gerne kann ich auch den Quellcode zeigen.
Herzlichen Dank schon mal,
TheMetalManiac