Seite 1 von 1

Probleme mit draw-Performance

Verfasst: 2. April 2008 00:19
von qtnub
Hallo, ich habe mich nach langer Zeit mal wieder an mein Projekt gemacht, bin aber wieder am verzweifeln.
Das Problem:
Ich programmiere eine Gui, auf der sich (viele!) Balken in Real-Time bewegen sollen (alle 30 ms!).

Nun habe ich mehrere Sachen probiert:
1. Jeder Balken ist ein Widget mit überschriebendem paintEvent
->unbrauchbar, da das den Prozessor komplett lahmlegt!

2. Alle Balken in einem Widget malen
->auch fast so langsam

Merkwürdig finde ich folgendes: wenn ich ein ganz großes bild mit drawPixmap male ist es relativ schnell (ca 20% Prozessorlast bei 30 ms refresh)

Male ich hingegen viele sehr kleine (ca 100) mit jeweils nur wenigen Pixeln (10x10), dann wird ein Core wieder voll ausgelastet. Das Problem ist nun offensichtlich drawPixmap, da es deutlich aufwändiger ist viele kleine Aufrufe zu nutzen als einen Aufruf für ein großes Bild.

Verfasst: 2. April 2008 09:04
von upsala
Schon mal versucht, QGraphicsView zu verwenden?

Verfasst: 2. April 2008 15:19
von qtnub
hm..., also ich hab mal dieses Beispiel aus der QT-Doku zum laufen gebracht:
http://doc.trolltech.com/4.3-snapshot/g ... gmice.html
Das lastet einen Core aber auch komplett aus, deswegen gehe ich davon aus, dass QGraphicsView das Problem nicht lösen wird.