[gelöst] Colliding Mice Example erzeugt zuviel CPU Last

Verschiedenes zu Qt
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

[gelöst] Colliding Mice Example erzeugt zuviel CPU Last

Beitrag von kater »

Bei dem Colliding Mice Beispiel bekomme ich eine CPU Last von 140%. 70% für das Programm selbst und nochmal 70% für den X-Server. Das ist doch viel zu viel für 10 Mäuse die mit 30fps umher laufen.

Was frisst denn so soviel? QGraphicsScene oder so. Man kann ja leider nicht so richtig verfolgen was da im Hintergrund passiert.
Zuletzt geändert von kater am 19. Februar 2010 17:08, insgesamt 1-mal geändert.
drizzt
Beiträge: 29
Registriert: 9. Oktober 2009 13:37

Beitrag von drizzt »

also bei mir sind ca 2% auslastung ?!
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Interesannt. Auf dem selben Rechner unter Windows sind es noch 30%. Na da ist mal ein Schlag ins Gesicht.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich schätze mal das liegt am opensource - Grafiktreiber.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Ehr nicht. Mit Closed Source Treiber ergibt es das selbe Ergebnis.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Welche Grafikkarte?
Liegt aber sicher an sowas in der Art. Qt selbst kompiliert?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Das eine ist eine ATI Radeon X1300 das andere Intel GMA 950.
Qt habe ich nicht selbst compiliert.
Habe jetzte kein 2D Programm zum vergleichen. Aber könnte mal eines suchen bei Gelegenheit.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sind beides nicht gerade gute GraKas - ist wohl demnach eine sehr langsame OpenGL-Implementierung... kann man leider nicht viel machen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Denke nicht, dass das Beispiel OpenGL verwendet. QPainter zeichnet hat direkt auf den Desktop oder so. Das ist weit weg von OpenGL
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Christian81 hat geschrieben:ist wohl demnach eine sehr langsame OpenGL-Implementierung... kann man leider nicht viel machen.
:D Nur gut dass colliding-mice ohne opengl auskommt.
Ich hab hier auch ~70% CPU (50/50 X/Colliding Mice). Stell ich auf opengl um bin ich bei gerade mal 5% CPU.
Nvidia 220 GT, nvidia-drivers.
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

@franzf was heisst, du stellst auf opengl um?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

//! [4]
QGraphicsView view(&scene);
view.setViewport(new QGLWidget); // das hier
Im .pro noch "QT += opengl" hinzufügen.
Evtl. mgst du auch statt "Antialiasing" ein "HighQualityAntialiasing" setzen.
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Ah ist ja toll. Nu gehts :D
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

@franzf: Ich rede natürlich von Qt4.6... -> "The QPaintEngine::OpenGL2 engine is now used as the default engine.", siehe http://qt.nokia.com/developer/changes/changes-4.6.0 und http://labs.trolltech.com/blogs/category/opengl/
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Hmm benutze Qt 4.6.0 und musste erst manuell wie oben beschrieben auf OpenGL umschalten damit auch dieses benutzt wird.
Antworten