Bug 272031 - BQM wastes a lot of memory when adding over 3000 files
Summary: BQM wastes a lot of memory when adding over 3000 files
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: BatchQueueManager-Workflow (show other bugs)
Version: 2.0.0
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-30 09:22 UTC by Andi Clemens
Modified: 2018-08-11 09:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andi Clemens 2011-04-30 09:22:19 UTC
Version:           2.0.0 (using KDE 4.6.2) 
OS:                Linux

When you add a lot of images to the BQM, it get stuck and wastes a lot of memory. I guess this is due to the thumbnail generation, which takes an awful lot of time.
Do we really need to display this little thumbnail in there anyway, it doesn't give the user any advantage, all operations are executed on the queue itself, so selecting individual images based on their thumbnails is no use case here.

Maybe we should add an option for turning them off in such dialogs, like in BQM or in the progress dialogs (ThumbnailBatch, FingerprintsBatch).

Reproducible: Always




OS: Linux (i686) release 2.6.38-ARCH
Compiler: gcc
Comment 1 Marcel Wiesweg 2011-04-30 18:21:48 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.
Comment 2 Andi Clemens 2011-04-30 19:47:23 UTC
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.
Comment 3 caulier.gilles 2011-06-22 14:23:54 UTC
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
Comment 4 Andi Clemens 2011-06-22 23:10:54 UTC
Seems to work fine...