Summary: | BQM wastes a lot of memory when adding over 3000 files | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Andi Clemens <andi.clemens> |
Component: | BatchQueueManager-Workflow | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | caulier.gilles |
Priority: | NOR | ||
Version: | 2.0.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 2.0.0 | |
Sentry Crash Report: |
Description
Andi Clemens
2011-04-30 09:22:19 UTC
I didn't look in the implementation, but from what you tell the current process is: 3000 files added -> 3000 thumbnails requested -> 3000 pixmaps stored. What generally scales very well would be: 3000 files added -> added to a model -> n files displayed -> n thumbnails requested -> n thumbnails cached -> n thumbnails drawn from cache where n is small (depending on widget's size) This is how it's basically done in the main icon view. Yes, this would help I guess. Right now all thumbnails are requested, which is not scaling very well. I needed to wait 5 minutes for digiKam being responsive again. Git commit b6f76fa0836d2798df7e1e5acdb08f417197a52c by Gilles Caulier. Committed on 22/06/2011 at 14:21. Pushed by cgilles into branch 'master'. BQM : use a mechanism to only load thumb from a queue when item must be show. Marcel, i don't use Model/View here. I re-implemented QTreeWidget::drawRow() which query thumbnail loader when it's necessary BUGS: 272031 M +23 -5 utilities/queuemanager/views/queuelist.cpp M +6 -2 utilities/queuemanager/views/queuelist.h http://commits.kde.org/digikam/b6f76fa0836d2798df7e1e5acdb08f417197a52c Seems to work fine... |