Seite 1 von 1

Trotz QThread hohe Auslastung

Verfasst: 7. Juni 2008 18:03
von CaptnChaos
Tach auch!
Ich habe ein kleines Problem mit QThread....
Folgende Situation:
Ich berechne in einem externen Thread die Streams für eine Matrix Emulation. Für eine Spielerei ist die Auslastung ja ziemlich Pups, ich hatte mir aber überlegt mehr daraus zu machen und da wird der Resourcenaufwand dann doch kritisch.

Jetzt meine Frage: Wie kann ich den Processor stark entlasten? Was mache ich in dem Thread falsch?
Der Code ist im Anhang.

Verfasst: 7. Juni 2008 18:14
von Christian81
Warum sollte ein Thread die CPU-Last verringern? Wenn ich was zu berechnen habe brauche ich CPU-Zeit - egal in welchem Thread sich das abspielt.

Verfasst: 7. Juni 2008 18:22
von CaptnChaos
Jo... Das Problem liegt übrigens doch nicht bei QThread sondern beim PaintEvent. Könnte man das durch ein QGraphicsView entschärfen?

Verfasst: 7. Juni 2008 18:45
von upsala
Das kommt darauf an, in welchen Zeitabständen, welche grafikfläche du änderst...

Verfasst: 7. Juni 2008 18:54
von Christian81
Ich weiß nicht genau was Du machst, aber wäre es ggf. sinnvoll das Pixmap komplett im thread zu zeichen und im PaintEvent dann nur ein drawPixmap()? Dort könnte man dann ggf. was optimieren.
Sehe auch nicht dass Du irgendwie mal wartest - d.h. du zeichnest so schnell wie möglich.

Verfasst: 7. Juni 2008 19:09
von CaptnChaos
Ja. Alle 20ms.
Ich zeichne keine Pixmap.
Das mit dem Pixmap im Thread zeichnen funktioniert nicht wirklich...
"QPainter::begin: Paint device returned engine == 0, type: 2"