Bei Darstellung von viel Text in TextEdit geht CPU-Last hoch
Verfasst: 5. Februar 2007 10:27
Hi,
Meine Anwendung besteht aus folgenden "Komponenten".
- MainWindow
- "Arbeiter"-Thread
- Window(Ergebnisfenster) zur Darstellung von Ergebnissen in nem TextEdit
und mein Problem ist folgendes:
Über das MainWindows wird der "Arbeiter"-Thread angeworfen. Dieser schreibt während er "arbeitet" Ergebnisse (html-Strings) in eine StringList. Diese übermittelt er dann am Ende mittels Signal an den Results-Slot des Ergebnisfensters. In diesem Slot geh ich die StringListe durch, und füge
nacheinander die Strings(Ergebnisse) via insertHtml() dem TextEdit hinzu und rufe dann Ergebnisfenster->show() auf. Das funktioniert bei wenigen Ergebnissen auch wunderbar. Jetzt kanns aber durchaus passieren, dass ich ne' große Anzahl von Ergebnissen darstellen muss (z.B. >800). Sobald nun das Ergebnisfenster dargestellt wird, geht die CPU-Last auf über 50% und die Gui reagiert dadurch nur noch sehr langsam.
Kann sich das jemand von euch erklären?
Meine Anwendung besteht aus folgenden "Komponenten".
- MainWindow
- "Arbeiter"-Thread
- Window(Ergebnisfenster) zur Darstellung von Ergebnissen in nem TextEdit
und mein Problem ist folgendes:
Über das MainWindows wird der "Arbeiter"-Thread angeworfen. Dieser schreibt während er "arbeitet" Ergebnisse (html-Strings) in eine StringList. Diese übermittelt er dann am Ende mittels Signal an den Results-Slot des Ergebnisfensters. In diesem Slot geh ich die StringListe durch, und füge
nacheinander die Strings(Ergebnisse) via insertHtml() dem TextEdit hinzu und rufe dann Ergebnisfenster->show() auf. Das funktioniert bei wenigen Ergebnissen auch wunderbar. Jetzt kanns aber durchaus passieren, dass ich ne' große Anzahl von Ergebnissen darstellen muss (z.B. >800). Sobald nun das Ergebnisfenster dargestellt wird, geht die CPU-Last auf über 50% und die Gui reagiert dadurch nur noch sehr langsam.
Kann sich das jemand von euch erklären?