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.
Probleme mit draw-Performance
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.
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.