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

List:       kfm-devel
Subject:    idea : faster pixmap loading for opMenu
From:       David Faure <faure () alpha ! tat ! physik ! uni-tuebingen ! de>
Date:       1999-04-24 14:50:33
[Download RAW message or body]

If one has a lot of bookmarks, creating a new view is VERY long.
This is because converting pixmaps via UIUtils for each item is VERY long.
(And it's silly, since most items have the exact SAME icon).

I see two solutions :
* We could create the bookmark menu when it's aboutToShow(), but that's a
kludge, and it's slow for the user.
* We could add new methods in opMenu* that would take a pixmap file name and
 use KPixmapCache instead. (But that would make partsui rely on kio - is
 that a problem ?)
 The new methods would be alternatives to insertItem11 and insertItem12.
 (... having a look). Wow, lots of methods take a Pixmap as argument :

long insertItem2 ( in Pixmap pixmap, in Object receiver, in string member, in long \
accel /* = 0 */ ); long insertItem3 ( in Pixmap pixmap, in wstring text, in Object \
receiver, in string member, in long accel /* = 0 */ ); long insertItem5 ( in Pixmap \
pixmap, in Object receiver, in string member, in long accel, in long id, in long \
index /* = -1 */ ); long insertItem6 ( in Pixmap pixmap, in wstring text, in Object \
receiver, in string member, in long accel, in long id, in long index /* = -1 */ ); \
long insertItem9 ( in Pixmap pixmap, in long id /* = -1 */, in long index /* = -1 */ \
); long insertItem10 ( in Pixmap pixmap, out Menu popup, in long id /* = -1 */, in \
long index /* = -1 */ ); long insertItem11 ( in Pixmap pixmap, in wstring text, in \
long id /* = -1 */, in long index /* = -1 */ ); long insertItem12 ( in Pixmap pixmap, \
in wstring text, out Menu popup, in long id /* = -1 */, in long index /* = -1 */ ); 

The bookmark menu only needs 11 and 12, but, for completeness.....

Or should we change all those methods to take the pixmap name instead of
the pixmap itself and force everybody to use this mechanism ?

I think it's a lot faster to make the 'host application' load the pixmap
(or find it in its cache) than the current system (i.e. load the pixmap,
convert the pixmap, send it via corba, and let the host application decode
it).

Opinions ?

Does the to-come cache server make this discussion obsolete ? I don't think 
so, since it will only change the cache mechanism. My concern is about the
opMenu methods above which are very slow if used in a loop.

-- 
David FAURE
david.faure@insa-lyon.fr, faure@kde.org
http://www.insa-lyon.fr/People/AEDI/dfaure/index.html 
KDE, Making The Future of Computing Available Today


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

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