Seite 1 von 1
milionen Punkten schnell plotten mit QPainter?
Verfasst: 30. Mai 2007 12:17
von kleinstein
ich will mit QPainter über millionen Punkten auf meiner QWidget-Subclass plotten.
Wenn man mit QPainter etwas zeichnen will, implementiert man normalerweise die Plotting-Funktion unter paintEvent(). oder?
wenn ja dann...
ist das nicht zu langsam? weil jedes mal millionen Punkten neu plotten muss.
oder gibt es eine schnellere alternative?
Verfasst: 30. Mai 2007 12:19
von upsala
In einem QPixmap puffern?
Verfasst: 30. Mai 2007 14:12
von Zandru
schau dir mal die Qwt an, die bietet dir für den Zweck den Scatterplot:
http://qwt.sourceforge.net/scatterscreenshots.html
(Qwt ist eine Sammlung von Qt-Erweiterungen, besonders für wissenschaftliche Plots usw.)
Verfasst: 31. Mai 2007 08:12
von kleinstein
Es ist gut, dass es solche Library gibt. und Danke für die Hinweise.
aber ich möchte wissen, wie man solche Problem sich selbst lösen kann.
Wenn man solche millionen Punkten nur einmalig auf QPixmap oder QImage plotten und die gesamte als wie ein Image behandeln würde, dann gibt es im Geschwindigkeit kein unterschied zwischen QPixmap und QImage, oder?
Verfasst: 31. Mai 2007 09:05
von upsala
Aus der Doku:
QImage is designed and optimized for I/O, and for direct pixel access and manipulation, while QPixmap is designed and optimized for showing images on screen.
Verfasst: 1. Juni 2007 08:14
von kleinstein
ich denke, was in Online-Docu steht ist, deswegen so formuliert, weil es in QPixmap einfach die Funktionen für I/O fehlt.
allein für plotten kann es kein Geschwindigkeit-unterschied geben... oder?
Verfasst: 1. Juni 2007 09:04
von upsala
Es geht darum wie die Daten jeweils im Speicher liegen und ob sie zur Darstellung auf den Bildschirm konvertiert werden müssen.
Verfasst: 1. Juni 2007 11:49
von Zandru
Es ist gut, dass es solche Library gibt. und Danke für die Hinweise.
aber ich möchte wissen, wie man solche Problem sich selbst lösen kann.
dann schau dir doch den Quelltext vom Scatterplot an, die Qwt kommt genau wie die Qt mit Quelltext. (und ist kostenlos)