Seite 1 von 1

QGLWidget vs. QPainter o.ä.

Verfasst: 11. September 2005 13:52
von kowi1134
Hallo!

In meinem Programm soll ein Feld mit im Durchschnitt 100.000.000 Elementen visualisiert werden (reales Einsatzszenario). Zu Testzwecken habe ich das Feld immer etwas kleiner gehalten. Jetzt muss ich leider feststellen, dass meine Methode zum Zeichnen des Feldes bei realen Eingabegrößen verdammt langsam ist.

Bisher benutze ich ein QGLWidget, dass bei jeder Änderung im Feld das ganze Feld neuzeichnen muss. Wie gesagt: Mit kleinen Testgrößen bis 1.000.000 ist das kein Problem. Gibt es vielleicht einen besseren Weg mit QT (z.B. QPainter), der bei realen Eingabegrößen schneller arbeitet als OpenGL?

Es sei noch erwähnt, dass es sich bei den sog. Änderungen im Feld lediglich um das Verschieben von einem Punkt zu einem anderen handelt (pro Änderung jeweils eine Verschiebung). Es scheint recht sinnlos mit dieser Vorkenntnis auf OpenGL zu setzten, da hier ja nun wirklich immer ALLES neu gezeichnet werden muss.

Ich hoffe und freue mich auf eure Antworten!

Ciao

Ergänzung:

Ich experimentiere gerade mit einem QPainter und einer QPixmap als PaintDevice für den QPainter. Dabei habe ich eine Oberfläche mit dem Designer erstellt und mir als Platzhalter ein QLabel geschaffen, dem ich später mit setPixmap() die Pixmap zuweisen will.
Kann man das so machen?
Ich persönlich sehe hierdrin das Problem, dass man bei jeder Veränderung (z.B. durch Aufruf von painter->setPoint()) dem QLabel erneut die Pixmap zuweisen muss, damit die Aktualisierung auch sichtbar wird. Stimmt das so?