[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: Flickering problem in kicker (trunk)
From:       "Aaron J. Seigo" <aseigo () kde ! org>
Date:       2006-10-15 23:02:17
Message-ID: 200610151702.18143.aseigo () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Sunday 15 October 2006 14:53, Rafael Fernández López wrote:
> Aaron I don't agree at all with your commit. You removed processEvents().
> If lots of items are added then the interface will hang up, showing grey
> rectangles while filling the list.

i tested with over 300 entries and was ok. not perfect, yes, but at least it's 
fast now and w/out flicker.

> I think processEvents() is necessary, 
> and what we need to change/improve is qboxlayout.cpp, methods setGeometry
> and setupGeom.
>
> Your patch just ignores the visual updating, so it will hang up interface.

the "right" way to do this is to make it properly async: cache the list of 
appletinfo (e.g. in a class member) and then process N entries at a time 
(say ... 50) then start a single shot qtimer to call the method again.

not overly hard, but seeing as with 300+ entries the dialog now shows and is 
complete in ~1s it's not a huge issue for kicker.

(btw, running the for loop 20x in succession will end up ignoring the cost of 
file i/o due to calls to KStandardDirs and AppletInfo in PluginManager. 
probably better to actually create a few hundred .desktop file entries to get 
the full profiling picture; which is what i have done locally... )

-- 
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

Full time KDE developer sponsored by Trolltech (http://www.trolltech.com)

[Attachment #5 (application/pgp-signature)]

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic