[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