Avatar billede bris Nybegynder
05. maj 2006 - 13:21 Der er 1 løsning

Tableviewer forårsager 100% CPU load

Jeg har en TableViewer, som har tilknyttet en liste, via det nedenstående:

viewer.setInput(theList);


I en anden tråd, der står jeg og putter i listen, og der sker rimelig tit. Og når der kommer noget i listen, så vil jeg jo også gerne have, at det bliver opdateret i selve vieweren, det gør jeg på følgende måde:

//Thread work
    theList.addEvent(data);
    viewer.refresh(false);
//Thread work slut

CPU loaden stiger, fordi at jo flere elementer der kommer i listen, jo mere skal tablevieweren åbenbart opdatere. Det vil jo så sige, at den faktisk opdaterer hele listen i stedet for bare det enkelte element.
Jeg prøvede så at bruge metoden: viewer.refresh(object), men den virker desværre ikke.. Jeg aner IKKE hvorfor.. Tror måske denne metode sammenligner på TableItem(s), og ikke mine objekter.
Er der nogen, som har nogle forslag til hvordan jeg får min CPU load ned - altså får listen til at opdatere det enkelte element, i stedet for hele listen?
Avatar billede bris Nybegynder
10. maj 2006 - 10:07 #1
Der er vist ikke ret mange herinde, som har noget at gøre med Eclipse RCP / JFACE, men det er også ligemeget. Jeg fandt ud af det langt om længe. Jeg brugte min ContentProvider forkert, og havde faktisk ikke bruge for at refreshe min liste konstant..
Hvis man behøver et detaljeret svar, så læg en besked.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester