Review Request 124811: KIconLoader: speed up hasIcon/iconPath by using the on-disk cache from loadIcon

David Faure faure at kde.org
Wed Aug 19 18:08:36 UTC 2015



> On Aug. 19, 2015, 5:52 p.m., Volker Krause wrote:
> > Sorry, this does not change the KMail case, it's still hitting the disk for the first icon of each type requested via QIcon::fromTheme, after that the in-memory cache kicks in.
> > 
> > IIUC the problem is that on the pure QIcon::fromTheme path, the icon never actually makes it into the persistent cache. If it is in there already, it is properly retrieved it seems.

Ah, I think I see one. hasIcon() emulates loading the icon in size "Desktop", while kmail probably loads all its icons in size Toolbar or Small (menuitems).
So it doesn't match, the on-disk cache of the small-size icon doesn't help hasIcon().
Sounds like hasIcon needs to have its own code to lookup the cache in various sizes before hitting the disk for one of them.
Another patch, for another day...


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124811/#review84060
-----------------------------------------------------------


On Aug. 19, 2015, 7:25 a.m., David Faure wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124811/
> -----------------------------------------------------------
> 
> (Updated Aug. 19, 2015, 7:25 a.m.)
> 
> 
> Review request for KDE Frameworks, Christoph Feck and Volker Krause.
> 
> 
> Repository: kiconthemes
> 
> 
> Description
> -------
> 
> This makes QIcon::fromTheme() much faster, for all cases where we have loaded the
> icon once before (including in another process).
> 
> 
> Diffs
> -----
> 
>   autotests/kiconloader_unittest.cpp 6b60e7ebfc970c94ae865d56c4e33a8034b4fcee 
>   src/kiconloader.cpp db3aa8f8fd6f8fb706edcb27cce073c36831934d 
> 
> Diff: https://git.reviewboard.kde.org/r/124811/diff/
> 
> 
> Testing
> -------
> 
> The unittest has a way to see if KIconLoader used the cache or searched on disk, with the newly exported global int. I couldn't think of a better way.
> 
> I'll let Volker do the real-world testing and measure the overall impact as he did previously.
> 
> 
> Thanks,
> 
> David Faure
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150819/54aa28ac/attachment.html>


More information about the Kde-frameworks-devel mailing list