Seite 1 von 1

ListView + StringListModel - Update-Performance (Log) ?

Verfasst: 24. Juli 2007 10:44
von FloGrobosch
Hallo.
Ich habe folgendes Problem mit Qt: Ich muss für eine Applikation ein Log-Fenster prgrammiere. Das ist soweit wirklich kein Problem, habe die Standard-Variante QStringListModel, QListView genommen. Nun werden die Daten aber sehr häufig aktualisiert, die Strignglist erhält neue Strings im Zeitbereich 5x / Sekunde. Dabei geht über kurz oder lang die CPU un die Knie, je nach erlaubter Puffergroße stürzt das programm sogar ab.
Gib es eine performantere Variante, als jedes mal nachdem die StringList erweiter wurde wieder setStringList() auf dem Model aufzurufen?

Danke für Hilfe!
Flo

Verfasst: 24. Juli 2007 12:24
von upsala
Ja, das QStringListModel selber schreiben (Beispiel in der Doku).

Verfasst: 24. Juli 2007 13:05
von FloGrobosch
Wo genau liegt denn das meiste Potential, um die Performance zu erhöhen? Vielleicht seh ich auch nur den Wald vor lauter Bäumen nicht, aber im Grunde arbeite ich doch immer auf der internen liste lst?

Danke schonmal & gruß, Flo

Verfasst: 24. Juli 2007 15:06
von RHBaum
Wo genau liegt denn das meiste Potential, um die Performance zu erhöhen?
nur genau so viel und genau so schnell anzeigen, wie es ueberhaupt fuers menschliche auge "lesbar" wird.

Also aller 200 msec updaten faend ich schon etwas uebertrieben .... fuer nen geschmeidiges runterscrollen isses zu wenig, fuer mitlessen ist es eindeutig zu viel ....

Nur das anzeigen wo sich grad der ausschnitt befindet

nen ringpuffer im hintergrund laufen lassen und nur bei bedarf die zeieln neu holen lassen ....

kein qlistview verwenden ... das war bei uns relativ unperformant (qt 4.1.2) tableview verhaelt sich viel performanter, keine ahnung wieso

Ciao ...