[Digikam-devel] [Bug 155097] performance problems with recursive view and filtering
Andi Clemens
andi.clemens at gmx.net
Thu Sep 4 14:11:42 BST 2008
Hi Marcel,
yes currently I'm working on 0.9.x.
For text I already have an SQL query that is able to filter my 3700 images in
the album in less than one second. But rating etc is still slow.
Right now it works as follows for text:
1. Run the query on the whole database
2. save resulting image IDs in LLongList
3. Filter out the ones that are existent in current icon view and LLongList
4. Display those images
This is really fast.
Also the general displaying of albums is faster now, because I removed some
redundant filtering (that was done twice and also when not using quickfilters
at all). If you click on a large album, the icons / thumbnails are displayed
much faster now. Before this, even with already cached thumbnails, displaying
was very slow.
But maybe I removed too much (:-)), because some things don't work the way the
should. For example if I assign a tag, the view is reloaded and the first
item is selected.
I will test this some more, don't know if I have time today. I'll also take a
look at the 0.10.x implementation, maybe I just skip the work on such a patch
if the KDE4 version is much faster. I don't think we need to do too much work
on the KDE3 branch anymore.
Andi
On Thursday 04 September 2008 14:51:15 Marcel Wiesweg wrote:
> (sorry for posting with mail, but bko doesnt work at the moment)
>
> I assume you are working on 0.9, but some thoughts on 0.10:
> For 0.10, some caching of simple values takes place, so database queries
> should be reduced in some cases. This means, if you are working on 0.10,
> then there is a bug elsewhere.
> Caching is easy for rating, date, format, size.
> Tags are not cached by default for every image, but only on first demand,
> so minor problem.
> The one filter that cannot properly be solved with caching is text. Here it
> would be most interesting to have a SQL solution, like one-big-query. You
> cannot pass say 20000 image ids in one SQL statement. What we can do is use
> prepared queries (this is all 0.10 only), so that the SQL is parsed and
> only the bound values are changed in each run. This is potentially much
> faster, but I have no benchmarks for SQLite. The other solution, building
> on top of the query that was used for the items in the unfiltered view, is
> easy for tags and albums, but difficult for search, from an implementation
> point of view.
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
More information about the Digikam-devel
mailing list