Plasma::Svg and performance

Marco Martin notmart at gmail.com
Thu Oct 16 15:27:14 CEST 2008


On Thursday 16 October 2008, Aaron J. Seigo wrote:
> On Wednesday 15 October 2008, Marco Martin wrote:
> > On Wednesday 15 October 2008, Aaron J. Seigo wrote:
> > > On Wednesday 15 October 2008, Marco Martin wrote:
> > > > with a kconfigroup? would make sense?
> > >
> > > it's the easy answer, so i'd say: "let's go for it".
> > >
> > > we can benchmark it once it is in place and working. changing the cache
> > > implementation will be an easy task after we have it there in the first
> > > place.
> > >
> > > i'll commit my changes shortly here then, once i figure out the problem
> > > with the applet backgrounds
> >
> > still very rough and probably wrong in many points posting here because
> > i'm too tired right now to think, probably tomorrow will come up with a
> > slightly better version :)
> >
> > Cheers,
> > Marco Martin
>
> it's a good start =) some (probably fatigue induced) issues like:
>
> + ? ? ? ? ? ?if (!found) {
> + ? ? ? ? ? ? ? ?return QRect();
> + ? ? ? ? ? ?} else if (rect.isValid()) {
> + ? ? ? ? ? ? ? ?return rect;
> + ? ? ? ? ? ?}
> +
>
> should probably be:
>
> if (found && rect.isValid()) {
>      return rect
> }

uhm, i think it's right at least how findInRectsCache work, because right now 
it returns false only when we are sure the element does not exist, so when is 
true and the rect not valid is still to be checked...
i know it's not intuitive, but don't know how to make it more intuitive, we 
would need a new boolean type with true, false and "who knows" values :) (well 
for cache hits could make sense, we could even do it... like InCache 
NotInCache and NotExistent)

> though even then ... it might not be worth checking if isValid() so non-
> existent elements would also be covered.
>
> but yeah, you're on the right track ... once this is in i'll do some more
> measurements and see where we get =)
>
> i'm also going to make the Image wallpaper plugin use a (separate) cache as
> well i think so we don't have to re-process the wallpaper images everytime.
> i also think i'm going to try to make the Image wallpaper plugin use fewer
> threads when more than one is loaded....


-------------- next part --------------
A non-text attachment was scrubbed...
Name: svgcacheRects2.diff
Type: text/x-patch
Size: 5855 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20081016/42ffba24/attachment.diff 


More information about the Plasma-devel mailing list