|
SVN commit 980402 by mwiesweg:
Adding the lines that switch on using a thumbnail database - not enabled per default: NOTE: You need to remove the comment signs around albummanager.cpp, lines 685-687, to test the thumbnail database. For simplicity, it is always created in the directory of the main database and named "thumbnails-digikam.db". It is using the PGF format to store thumbnails. I am aware there are suggestions to use JPEG or Djvu. Only real world testing can show if this database is a good thing or not. CCMAIL: [hidden email] M +6 -0 albummanager.cpp --- trunk/extragear/graphics/digikam/digikam/albummanager.cpp #980401:980402 @@ -79,6 +79,7 @@ #include "databaseaccess.h" #include "databaseurl.h" #include "databaseparameters.h" +#include "databasethumbnailinfoprovider.h" #include "databasewatch.h" #include "dio.h" #include "imagelister.h" @@ -680,6 +681,11 @@ } } + // Initialize thumbnail database +/* QFileInfo thumbFile(d->dbPath, "thumbnails-digikam.db"); + ThumbnailLoadThread::initializeThumbnailDatabase(thumbFile.filePath(), new DatabaseThumbnailInfoProvider()); + d->dirWatchBlackList << "thumbnails-digikam.db" << "thumbnails-digikam.db-journal"; +*/ return true; } _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
Hi Marcel,
just testing the thumb db. Right now it seems to be slower, especially filling the album thumbnails in the folderview takes up to 18 seconds here. But there is another problem: digiKam crashes when NOT using the thumb.db. Can you reproduce this? If you leave the code commented, digikam will die on startup. Andi On Thursday 11 June 2009 19:36:44 Marcel Wiesweg wrote: > SVN commit 980402 by mwiesweg: > > Adding the lines that switch on using a thumbnail database - not enabled > per default: > > NOTE: > You need to remove the comment signs around albummanager.cpp, lines > 685-687, to test the thumbnail database. > > For simplicity, it is always created in the directory of the main database > and named "thumbnails-digikam.db". It is using the PGF format to store > thumbnails. I am aware there are suggestions to use JPEG or Djvu. > > Only real world testing can show if this database is a good thing or not. > > CCMAIL: [hidden email] > > M +6 -0 albummanager.cpp > > > --- trunk/extragear/graphics/digikam/digikam/albummanager.cpp > #980401:980402 @@ -79,6 +79,7 @@ > #include "databaseaccess.h" > #include "databaseurl.h" > #include "databaseparameters.h" > +#include "databasethumbnailinfoprovider.h" > #include "databasewatch.h" > #include "dio.h" > #include "imagelister.h" > @@ -680,6 +681,11 @@ > } > } > > + // Initialize thumbnail database > +/* QFileInfo thumbFile(d->dbPath, "thumbnails-digikam.db"); > + ThumbnailLoadThread::initializeThumbnailDatabase(thumbFile.filePath(), > new DatabaseThumbnailInfoProvider()); + d->dirWatchBlackList << > "thumbnails-digikam.db" << "thumbnails-digikam.db-journal"; +*/ > return true; > } > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
Marcel,
Yes it crash here : digikam(14732)/digikam (core) Digikam::AlbumManager::startScan: KDirWatch method = "FAM" KCrash: Application 'digikam' crashing... sock_file=/home/gilles/.kde4/socket-localhost/kdeinit4__0 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1035) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1038) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1123) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1167) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1168) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1177) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1190) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1308) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1657) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 1662) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 3) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 326) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 327) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 328) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 329) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 330) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 338) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 340) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 57) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 58) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 59) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 6) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 60) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 61) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 808) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 812) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 814) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 815) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 816) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 817) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 818) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 825) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 829) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 836) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath, Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 848) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 875) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 985) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 986) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 987) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 989) ) digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Failure executing query: digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "SELECT Images.name, Albums.albumRoot, Albums.relativePath,Albums.id FROM Images LEFT JOIN Albums ON Albums.id=Images.album WHERE Images.id=?;" digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: "disk I/O error Unable to fetch row" 10 digikam(14732)/digikam (core) Digikam::DatabaseCoreBackend::exec: Bound values: (QVariant(qlonglong, 992) ) digikam: Fatal IO error: client killed Application: digiKam (digikam), signal SIGSEGV [Current thread is 1 (Thread 0xb44e6ac0 (LWP 14732))] Thread 12 (Thread 0xb2c2ab90 (LWP 14733)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb55af5eb in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0x0834bb85 in Digikam::ScanController::run () #4 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #5 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #6 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 11 (Thread 0xb21c1b90 (LWP 14734)): #0 0xb494e17a in clock_gettime () from /lib/i686/librt.so.1 #1 0xb56d8d8c in ?? () from /usr/lib/libQtCore.so.4 #2 0xb56d8f82 in ?? () from /usr/lib/libQtCore.so.4 #3 0xb56daa52 in ?? () from /usr/lib/libQtCore.so.4 #4 0xb56d73db in ?? () from /usr/lib/libQtCore.so.4 #5 0xb4a20bd3 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #6 0xb4a2101d in ?? () from /usr/lib/libglib-2.0.so.0 #7 0xb4a214df in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #8 0xb56d71f7 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #9 0xb56a8903 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #10 0xb56a8d51 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #11 0xb55ab11b in QThread::exec () from /usr/lib/libQtCore.so.4 #12 0xb701d8f3 in Digikam::ImageFilterModelWorker::Thread::run () from /usr/lib/libdigikamdatabase.so.1 #13 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #14 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #15 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 10 (Thread 0xb19c0b90 (LWP 14735)): #0 0xb494e17a in clock_gettime () from /lib/i686/librt.so.1 #1 0xb56d8d8c in ?? () from /usr/lib/libQtCore.so.4 #2 0xb56d8f82 in ?? () from /usr/lib/libQtCore.so.4 #3 0xb56daa52 in ?? () from /usr/lib/libQtCore.so.4 #4 0xb56d73db in ?? () from /usr/lib/libQtCore.so.4 #5 0xb4a20bd3 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0 #6 0xb4a2101d in ?? () from /usr/lib/libglib-2.0.so.0 #7 0xb4a214df in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #8 0xb56d71f7 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #9 0xb56a8903 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #10 0xb56a8d51 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #11 0xb55ab11b in QThread::exec () from /usr/lib/libQtCore.so.4 #12 0xb701d8f3 in Digikam::ImageFilterModelWorker::Thread::run () from /usr/lib/libdigikamdatabase.so.1 #13 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #14 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #15 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 9 (Thread 0xb11bfb90 (LWP 14736)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb55af5eb in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb7240505 in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1 #4 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #5 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #6 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 8 (Thread 0xb09beb90 (LWP 14737)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb55af5eb in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb7240505 in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1 #4 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #5 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #6 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 7 (Thread 0xadfd0b90 (LWP 14738)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535f72 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xaeb54a11 in ?? () from /usr/lib/libxine.so.1 #3 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #4 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 6 (Thread 0xad2f3b90 (LWP 14739)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb53884c1 in select () from /lib/i686/libc.so.6 #2 0xaeb7fc42 in xine_usec_sleep () from /usr/lib/libxine.so.1 #3 0xaeb6305d in ?? () from /usr/lib/libxine.so.1 #4 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #5 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 5 (Thread 0xacaf2b90 (LWP 14740)): #0 0xb494e17a in clock_gettime () from /lib/i686/librt.so.1 #1 0xb56d8d8c in ?? () from /usr/lib/libQtCore.so.4 #2 0xb56d8f82 in ?? () from /usr/lib/libQtCore.so.4 #3 0xb56d72fc in ?? () from /usr/lib/libQtCore.so.4 #4 0xb4a2093a in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #5 0xb4a2123c in ?? () from /usr/lib/libglib-2.0.so.0 #6 0xb4a214df in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #7 0xb56d71f7 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #8 0xb56a8903 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #9 0xb56a8d51 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #10 0xb55ab11b in QThread::exec () from /usr/lib/libQtCore.so.4 #11 0xaeba8dd8 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #12 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #13 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #14 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 4 (Thread 0xac2f1b90 (LWP 14741)): #0 0xb539dd00 in ?? () from /lib/i686/libc.so.6 #1 0xb53856cd in poll () from /lib/i686/libc.so.6 #2 0xad79cb96 in ?? () from /usr/lib/libpulse.so.0 #3 0xad789bf0 in pa_mainloop_poll () from /usr/lib/libpulse.so.0 #4 0xad78b375 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0 #5 0xad78b454 in pa_mainloop_run () from /usr/lib/libpulse.so.0 #6 0xad79c92e in ?? () from /usr/lib/libpulse.so.0 #7 0xad75d3d3 in ?? () from /usr/lib/libpulsecommon-0.9.15.so #8 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #9 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 3 (Thread 0xa7aadb90 (LWP 14742)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xaeb66bfb in ?? () from /usr/lib/libxine.so.1 #3 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #4 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 2 (Thread 0xa596bb90 (LWP 14757)): [KCrash Handler] #6 0x00000000 in ?? () #7 0xb725702f in Digikam::ThumbnailCreator::load () from /usr/lib/libdigikamcore.so.1 #8 0xb725d695 in Digikam::ThumbnailLoadingTask::execute () from /usr/lib/libdigikamcore.so.1 #9 0xb7240557 in Digikam::LoadSaveThread::run () from /usr/lib/libdigikamcore.so.1 #10 0xb55ae4df in ?? () from /usr/lib/libQtCore.so.4 #11 0xb5532315 in start_thread () from /lib/i686/libpthread.so.0 #12 0xb539025e in clone () from /lib/i686/libc.so.6 Thread 1 (Thread 0xb44e6ac0 (LWP 14732)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb5535c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0 #2 0xb55af5eb in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb55ae691 in QThread::wait () from /usr/lib/libQtCore.so.4 #4 0xb7240840 in Digikam::LoadSaveThread::shutdownThread () from /usr/lib/libdigikamcore.so.1 #5 0xb7259eac in Digikam::ThumbnailLoadThread::~ThumbnailLoadThread () from /usr/lib/libdigikamcore.so.1 #6 0xb72583b0 in Digikam::._208::destroy () from /usr/lib/libdigikamcore.so.1 #7 0xb725b819 in KCleanUpGlobalStatic::~KCleanUpGlobalStatic () from /usr/lib/libdigikamcore.so.1 #8 0xb52e0cd9 in exit () from /lib/i686/libc.so.6 #9 0xb5be69c8 in ?? () from /usr/lib/libQtGui.so.4 #10 0xb67db599 in KApplication::xioErrhandler () from /usr/lib/libkdeui.so.5 #11 0xb67db5d4 in ?? () from /usr/lib/libkdeui.so.5 #12 0xb512d0da in _XIOError () from /usr/lib/libX11.so.6 #13 0xb51354fd in ?? () from /usr/lib/libX11.so.6 #14 0x08e72778 in ?? () #15 0x00006598 in ?? () #16 0xbff8fc48 in ?? () #17 0xbff8fc44 in ?? () #18 0x00006598 in ?? () #19 0x00000000 in ?? () Gilles 2009/6/11 Andi Clemens <[hidden email]>: > Hi Marcel, > > just testing the thumb db. Right now it seems to be slower, especially filling > the album thumbnails in the folderview takes up to 18 seconds here. > > But there is another problem: digiKam crashes when NOT using the thumb.db. > Can you reproduce this? > > If you leave the code commented, digikam will die on startup. > > Andi > > On Thursday 11 June 2009 19:36:44 Marcel Wiesweg wrote: >> SVN commit 980402 by mwiesweg: >> >> Adding the lines that switch on using a thumbnail database - not enabled >> per default: >> >> NOTE: >> You need to remove the comment signs around albummanager.cpp, lines >> 685-687, to test the thumbnail database. >> >> For simplicity, it is always created in the directory of the main database >> and named "thumbnails-digikam.db". It is using the PGF format to store >> thumbnails. I am aware there are suggestions to use JPEG or Djvu. >> >> Only real world testing can show if this database is a good thing or not. >> >> CCMAIL: [hidden email] >> >> M +6 -0 albummanager.cpp >> >> >> --- trunk/extragear/graphics/digikam/digikam/albummanager.cpp >> #980401:980402 @@ -79,6 +79,7 @@ >> #include "databaseaccess.h" >> #include "databaseurl.h" >> #include "databaseparameters.h" >> +#include "databasethumbnailinfoprovider.h" >> #include "databasewatch.h" >> #include "dio.h" >> #include "imagelister.h" >> @@ -680,6 +681,11 @@ >> } >> } >> >> + // Initialize thumbnail database >> +/* QFileInfo thumbFile(d->dbPath, "thumbnails-digikam.db"); >> + ThumbnailLoadThread::initializeThumbnailDatabase(thumbFile.filePath(), >> new DatabaseThumbnailInfoProvider()); + d->dirWatchBlackList << >> "thumbnails-digikam.db" << "thumbnails-digikam.db-journal"; +*/ >> return true; >> } >> >> _______________________________________________ >> Digikam-devel mailing list >> [hidden email] >> https://mail.kde.org/mailman/listinfo/digikam-devel > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Bugzilla from andi.clemens@gmx.net
> Hi Marcel,
> > just testing the thumb db. Right now it seems to be slower, especially > filling the album thumbnails in the folderview takes up to 18 seconds here. Talking about pregenerated thumbnails right? Profiling icon view thumbnail loading is clear on this: it's 90% of time spent in decoding the PGF data. 8% for scaling. Callgrind will not measure disk I/O time. > > But there is another problem: digiKam crashes when NOT using the thumb.db. > Can you reproduce this? > > If you leave the code commented, digikam will die on startup. Crash is fixed now _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
2009/6/11 Marcel Wiesweg <[hidden email]>:
>> Hi Marcel, >> >> just testing the thumb db. Right now it seems to be slower, especially >> filling the album thumbnails in the folderview takes up to 18 seconds here. > > Talking about pregenerated thumbnails right? > > Profiling icon view thumbnail loading is clear on this: it's 90% of time spent > in decoding the PGF data. 8% for scaling. Callgrind will not measure disk I/O > time. > Very interesting. It will be nice to compare with JPEG format there... > >> >> But there is another problem: digiKam crashes when NOT using the thumb.db. >> Can you reproduce this? >> >> If you leave the code commented, digikam will die on startup. > > Crash is fixed now I confirm Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Marcel Wiesweg
First feedback to compare freedesktop method based on PNG and Thumb DB
based on PGF. Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : Computer : PIV 3Ghz, 1.5MB ram. Collections : digiKam version 1.0.0-beta2 (rev.: 979154) JP2k: 21 JPG: 1818 MOV: 3 PNG: 363 PPM: 3 RAW-CR2: 8 RAW-CRW: 9 RAW-DNG: 1 RAW-MRW: 150 RAW-NEF: 9 RAW-ORF: 2 RAW-RAF: 2 RAW-RAW: 1 RAW-RW2: 1 RAW-X3F: 1 TIFF: 82 WMF: 1 XCF: 3 Total Items: 2478 * Freedesktop method : ----------------------------- rebuild time duration : 16mn 23s cache size : [gilles .thumbnails]$ pwd /home/gilles/.thumbnails [gilles .thumbnails]$ du 189M ./large 0 ./normal 189M . [gilles .thumbnails]$ * Thumbs database method : ----------------------------------- rebuild time duration : 12mn 01s database file size : [gilles@pc-caulier photos]$ pwd /mnt/data/photos [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db [gilles@pc-caulier photos]$ Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
If we keep the thumb db method, we should consider using a SQL query when
using the scan mode in rebuild thumbs dialog. Right now it loads every thumbnail to see if it exists. This was necessary with the old freedesktop way, but with a db it is not (I guess). We could simply query for missing thumbs with SQL and speed up this baby. With my 50.000 images collection, full thumbs rebuild takes up to 34min. The scan method also takes 16min, because every thumb is loaded, even if it doesn't have to, With a query we could really speed this up (like in the fingerprints dialog). Andi On Friday 12 June 2009 09:02:53 Gilles Caulier wrote: > First feedback to compare freedesktop method based on PNG and Thumb DB > based on PGF. > > Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : > > Computer : PIV 3Ghz, 1.5MB ram. > > Collections : > > digiKam version 1.0.0-beta2 (rev.: 979154) > JP2k: 21 > JPG: 1818 > MOV: 3 > PNG: 363 > PPM: 3 > RAW-CR2: 8 > RAW-CRW: 9 > RAW-DNG: 1 > RAW-MRW: 150 > RAW-NEF: 9 > RAW-ORF: 2 > RAW-RAF: 2 > RAW-RAW: 1 > RAW-RW2: 1 > RAW-X3F: 1 > TIFF: 82 > WMF: 1 > XCF: 3 > Total Items: 2478 > > * Freedesktop method : > ----------------------------- > > rebuild time duration : 16mn 23s > cache size : > > [gilles .thumbnails]$ pwd > /home/gilles/.thumbnails > [gilles .thumbnails]$ du > 189M ./large > 0 ./normal > 189M . > [gilles .thumbnails]$ > > * Thumbs database method : > ----------------------------------- > > rebuild time duration : 12mn 01s > database file size : > > [gilles@pc-caulier photos]$ pwd > /mnt/data/photos > [gilles@pc-caulier photos]$ ls -al *.db > -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db > -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db > [gilles@pc-caulier photos]$ > > Gilles Caulier > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Gilles Caulier-4
And a second feedback to compare freedesktop method based on PNG and Thumb DB
based on PGF. Tools/Rebuild thumbnails/All dialog is used again. See below the results : Computer : PIV 3,2Ghz, 1MB ram. Collections : digiKam version 1.0.0-beta2 (rev.: 968273) AVI: 4 JP2k: 10 JPG: 1061 MOV: 1 MP3: 3 MPEG: 2 PNG: 176 PPM: 3 RAW-ARW: 2 RAW-CR2: 7 RAW-CRW: 6 RAW-DCR: 2 RAW-DNG: 60 RAW-MRW: 29 RAW-NEF: 12 RAW-ORF: 2 RAW-PEF: 5 RAW-RAF: 9 RAW-RAW: 1 RAW-X3F: 2 TIFF: 45 XCF: 12 Total Items: 1454 * Freedesktop method : ----------------------------- rebuild time duration : 10mn 52s cache size : [gilles .thumbnails]$ pwd /home/gilles/.thumbnails [gilles .thumbnails]$ du 230M ./large 0 ./normal 230M . [gilles .thumbnails]$ * Thumbs database method : ----------------------------------- rebuild time duration : 5mn 49s database file size : [gilles Database]$ pwd /mnt/data/Database [gilles Database]$ ls -al *.db -rw-r--r-- 1 gilles gilles 2937856 2009-06-12 09:08 digikam4.db -rw-r--r-- 1 gilles gilles 31227904 2009-06-12 09:49 thumbnails-digikam.db [gilles Database]$ Gilles Caulier _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Bugzilla from andi.clemens@gmx.net
2009/6/12 Andi Clemens <[hidden email]>:
> If we keep the thumb db method, we should consider using a SQL query when > using the scan mode in rebuild thumbs dialog. > Right now it loads every thumbnail to see if it exists. This was necessary > with the old freedesktop way, but with a db it is not (I guess). > > We could simply query for missing thumbs with SQL and speed up this baby. > With my 50.000 images collection, full thumbs rebuild takes up to 34min. > The scan method also takes 16min, because every thumb is loaded, even if it > doesn't have to, With a query we could really speed this up (like in the > fingerprints dialog). I'm totally agree. This is another advantage to use a DB here. Gilles > > Andi > > On Friday 12 June 2009 09:02:53 Gilles Caulier wrote: >> First feedback to compare freedesktop method based on PNG and Thumb DB >> based on PGF. >> >> Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : >> >> Computer : PIV 3Ghz, 1.5MB ram. >> >> Collections : >> >> digiKam version 1.0.0-beta2 (rev.: 979154) >> JP2k: 21 >> JPG: 1818 >> MOV: 3 >> PNG: 363 >> PPM: 3 >> RAW-CR2: 8 >> RAW-CRW: 9 >> RAW-DNG: 1 >> RAW-MRW: 150 >> RAW-NEF: 9 >> RAW-ORF: 2 >> RAW-RAF: 2 >> RAW-RAW: 1 >> RAW-RW2: 1 >> RAW-X3F: 1 >> TIFF: 82 >> WMF: 1 >> XCF: 3 >> Total Items: 2478 >> >> * Freedesktop method : >> ----------------------------- >> >> rebuild time duration : 16mn 23s >> cache size : >> >> [gilles .thumbnails]$ pwd >> /home/gilles/.thumbnails >> [gilles .thumbnails]$ du >> 189M ./large >> 0 ./normal >> 189M . >> [gilles .thumbnails]$ >> >> * Thumbs database method : >> ----------------------------------- >> >> rebuild time duration : 12mn 01s >> database file size : >> >> [gilles@pc-caulier photos]$ pwd >> /mnt/data/photos >> [gilles@pc-caulier photos]$ ls -al *.db >> -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db >> -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db >> [gilles@pc-caulier photos]$ >> >> Gilles Caulier >> _______________________________________________ >> Digikam-devel mailing list >> [hidden email] >> https://mail.kde.org/mailman/listinfo/digikam-devel > > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Gilles Caulier-4
Now, from the same computer, Using JPEG insted PGF format to store
image in thumbs database. DB file have been remove before to rebuild all thumbnails rebuild time duration : 13mn 02s database file size : [gilles@pc-caulier photos]$ pwd /mnt/data/photos [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 12:38 digikam4.db -rw-r--r-- 1 gilles gilles 21109760 2009-06-12 12:51 thumbnails-digikam.db [gilles@pc-caulier photos]$ Result are better than PGF, from speed and space consumption point... Gilles 2009/6/12 Gilles Caulier <[hidden email]>: > First feedback to compare freedesktop method based on PNG and Thumb DB > based on PGF. > > Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : > > Computer : PIV 3Ghz, 1.5MB ram. > > Collections : > > digiKam version 1.0.0-beta2 (rev.: 979154) > JP2k: 21 > JPG: 1818 > MOV: 3 > PNG: 363 > PPM: 3 > RAW-CR2: 8 > RAW-CRW: 9 > RAW-DNG: 1 > RAW-MRW: 150 > RAW-NEF: 9 > RAW-ORF: 2 > RAW-RAF: 2 > RAW-RAW: 1 > RAW-RW2: 1 > RAW-X3F: 1 > TIFF: 82 > WMF: 1 > XCF: 3 > Total Items: 2478 > > * Freedesktop method : > ----------------------------- > > rebuild time duration : 16mn 23s > cache size : > > [gilles .thumbnails]$ pwd > /home/gilles/.thumbnails > [gilles .thumbnails]$ du > 189M ./large > 0 ./normal > 189M . > [gilles .thumbnails]$ > > * Thumbs database method : > ----------------------------------- > > rebuild time duration : 12mn 01s > database file size : > > [gilles@pc-caulier photos]$ pwd > /mnt/data/photos > [gilles@pc-caulier photos]$ ls -al *.db > -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db > -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db > [gilles@pc-caulier photos]$ > > Gilles Caulier > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
Now, again from the same computer, but this time using JPEG2000 insted
PGF format to store image in thumbs database. DB file have been remove before to rebuild all thumbnails rebuild time duration : 17mn 04s database file size : [gilles@pc-caulier photos]$ pwd /mnt/data/photos [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 12:38 digikam4.db -rw-r--r-- 1 gilles gilles 21109760 2009-06-12 12:51 thumbnails-digikam.db [gilles@pc-caulier photos]$ As expected, JPEG2000 is slower than PGF and JPEG (and also freedesktop !). Space consuming is similar than JPEG (JPEG quality = 75 - not lossless) Gilles > > 2009/6/12 Gilles Caulier <[hidden email]>: >> First feedback to compare freedesktop method based on PNG and Thumb DB >> based on PGF. >> >> Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : >> >> Computer : PIV 3Ghz, 1.5MB ram. >> >> Collections : >> >> digiKam version 1.0.0-beta2 (rev.: 979154) >> JP2k: 21 >> JPG: 1818 >> MOV: 3 >> PNG: 363 >> PPM: 3 >> RAW-CR2: 8 >> RAW-CRW: 9 >> RAW-DNG: 1 >> RAW-MRW: 150 >> RAW-NEF: 9 >> RAW-ORF: 2 >> RAW-RAF: 2 >> RAW-RAW: 1 >> RAW-RW2: 1 >> RAW-X3F: 1 >> TIFF: 82 >> WMF: 1 >> XCF: 3 >> Total Items: 2478 >> >> * Freedesktop method : >> ----------------------------- >> >> rebuild time duration : 16mn 23s >> cache size : >> >> [gilles .thumbnails]$ pwd >> /home/gilles/.thumbnails >> [gilles .thumbnails]$ du >> 189M ./large >> 0 ./normal >> 189M . >> [gilles .thumbnails]$ >> >> * Thumbs database method : >> ----------------------------------- >> >> rebuild time duration : 12mn 01s >> database file size : >> >> [gilles@pc-caulier photos]$ pwd >> /mnt/data/photos >> [gilles@pc-caulier photos]$ ls -al *.db >> -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db >> -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db >> [gilles@pc-caulier photos]$ >> >> Gilles Caulier >> > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
2009/6/12 Gilles Caulier <[hidden email]>:
> Now, again from the same computer, but this time using JPEG2000 insted > PGF format to store > image in thumbs database. DB file have been remove before to rebuild > all thumbnails > > rebuild time duration : 17mn 04s > database file size : > > [gilles@pc-caulier photos]$ pwd > /mnt/data/photos > [gilles@pc-caulier photos]$ ls -al *.db > -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 12:38 digikam4.db > -rw-r--r-- 1 gilles gilles 21109760 2009-06-12 12:51 thumbnails-digikam.db > [gilles@pc-caulier photos]$ Oups, wrong copy and paste here look real value (incredible) : [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 13:00 digikam4.db -rw-r--r-- 1 gilles gilles 2171904 2009-06-12 13:18 thumbnails-digikam.db [gilles@pc-caulier photos]$ Yes, you can read 2,1Mb, not 21Mb... But, no change, a lots of images are broken. It sound like JPEG2000 Qt image loader from KDEimageIo doesn't work properly... To resume : we cannot use JPEG2000 for the moment... Gilles > > As expected, JPEG2000 is slower than PGF and JPEG (and also freedesktop !). > Space consuming is similar than JPEG (JPEG quality = 75 - not lossless) > > Gilles > >> >> 2009/6/12 Gilles Caulier <[hidden email]>: >>> First feedback to compare freedesktop method based on PNG and Thumb DB >>> based on PGF. >>> >>> Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : >>> >>> Computer : PIV 3Ghz, 1.5MB ram. >>> >>> Collections : >>> >>> digiKam version 1.0.0-beta2 (rev.: 979154) >>> JP2k: 21 >>> JPG: 1818 >>> MOV: 3 >>> PNG: 363 >>> PPM: 3 >>> RAW-CR2: 8 >>> RAW-CRW: 9 >>> RAW-DNG: 1 >>> RAW-MRW: 150 >>> RAW-NEF: 9 >>> RAW-ORF: 2 >>> RAW-RAF: 2 >>> RAW-RAW: 1 >>> RAW-RW2: 1 >>> RAW-X3F: 1 >>> TIFF: 82 >>> WMF: 1 >>> XCF: 3 >>> Total Items: 2478 >>> >>> * Freedesktop method : >>> ----------------------------- >>> >>> rebuild time duration : 16mn 23s >>> cache size : >>> >>> [gilles .thumbnails]$ pwd >>> /home/gilles/.thumbnails >>> [gilles .thumbnails]$ du >>> 189M ./large >>> 0 ./normal >>> 189M . >>> [gilles .thumbnails]$ >>> >>> * Thumbs database method : >>> ----------------------------------- >>> >>> rebuild time duration : 12mn 01s >>> database file size : >>> >>> [gilles@pc-caulier photos]$ pwd >>> /mnt/data/photos >>> [gilles@pc-caulier photos]$ ls -al *.db >>> -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db >>> -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db >>> [gilles@pc-caulier photos]$ >>> >>> Gilles Caulier >>> >> > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Gilles Caulier-4
On this same computer, i just adjusted PGF quality from 3 to 4.
rebuild time duration : 11mn 16s database file size : [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 14:37 digikam4.db -rw-r--r-- 1 gilles gilles 35644416 2009-06-12 14:49 thumbnails-digikam.db [gilles@pc-caulier photos]$ DB file size is reduced from 55 MB to 35 MB... Gilles Caulier 2009/6/12 Gilles Caulier <[hidden email]>: > First feedback to compare freedesktop method based on PNG and Thumb DB > based on PGF. > > Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : > > Computer : PIV 3Ghz, 1.5MB ram. > > Collections : > > digiKam version 1.0.0-beta2 (rev.: 979154) > JP2k: 21 > JPG: 1818 > MOV: 3 > PNG: 363 > PPM: 3 > RAW-CR2: 8 > RAW-CRW: 9 > RAW-DNG: 1 > RAW-MRW: 150 > RAW-NEF: 9 > RAW-ORF: 2 > RAW-RAF: 2 > RAW-RAW: 1 > RAW-RW2: 1 > RAW-X3F: 1 > TIFF: 82 > WMF: 1 > XCF: 3 > Total Items: 2478 > > * Freedesktop method : > ----------------------------- > > rebuild time duration : 16mn 23s > cache size : > > [gilles .thumbnails]$ pwd > /home/gilles/.thumbnails > [gilles .thumbnails]$ du > 189M ./large > 0 ./normal > 189M . > [gilles .thumbnails]$ > > * Thumbs database method : > ----------------------------------- > > rebuild time duration : 12mn 01s > database file size : > > [gilles@pc-caulier photos]$ pwd > /mnt/data/photos > [gilles@pc-caulier photos]$ ls -al *.db > -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db > -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db > [gilles@pc-caulier photos]$ > > Gilles Caulier > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
And again. this time, PGF quality = 5 :
rebuild time duration : 11mn 31s database file size : [gilles@pc-caulier photos]$ ls -al *.db -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 15:13 digikam4.db -rw-r--r-- 1 gilles gilles 23817216 2009-06-12 15:25 thumbnails-digikam.db [gilles@pc-caulier photos]$ DB file size is reduced from 35 MB to 23 MB... Now we have same compression ratio than JPEG, bu t i can see visible artifacts (a little bit). Somebody can confirm ? Gilles 2009/6/12 Gilles Caulier <[hidden email]>: > On this same computer, i just adjusted PGF quality from 3 to 4. > > rebuild time duration : 11mn 16s > database file size : > > [gilles@pc-caulier photos]$ ls -al *.db > -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 14:37 digikam4.db > -rw-r--r-- 1 gilles gilles 35644416 2009-06-12 14:49 thumbnails-digikam.db > [gilles@pc-caulier photos]$ > > DB file size is reduced from 55 MB to 35 MB... > > Gilles Caulier > > > > 2009/6/12 Gilles Caulier <[hidden email]>: >> First feedback to compare freedesktop method based on PNG and Thumb DB >> based on PGF. >> >> Here, i use Tools/Rebuild thumbnails/All dialog. See below the results : >> >> Computer : PIV 3Ghz, 1.5MB ram. >> >> Collections : >> >> digiKam version 1.0.0-beta2 (rev.: 979154) >> JP2k: 21 >> JPG: 1818 >> MOV: 3 >> PNG: 363 >> PPM: 3 >> RAW-CR2: 8 >> RAW-CRW: 9 >> RAW-DNG: 1 >> RAW-MRW: 150 >> RAW-NEF: 9 >> RAW-ORF: 2 >> RAW-RAF: 2 >> RAW-RAW: 1 >> RAW-RW2: 1 >> RAW-X3F: 1 >> TIFF: 82 >> WMF: 1 >> XCF: 3 >> Total Items: 2478 >> >> * Freedesktop method : >> ----------------------------- >> >> rebuild time duration : 16mn 23s >> cache size : >> >> [gilles .thumbnails]$ pwd >> /home/gilles/.thumbnails >> [gilles .thumbnails]$ du >> 189M ./large >> 0 ./normal >> 189M . >> [gilles .thumbnails]$ >> >> * Thumbs database method : >> ----------------------------------- >> >> rebuild time duration : 12mn 01s >> database file size : >> >> [gilles@pc-caulier photos]$ pwd >> /mnt/data/photos >> [gilles@pc-caulier photos]$ ls -al *.db >> -rw-r--r-- 1 gilles gilles 1398784 2009-06-12 08:46 digikam4.db >> -rw-r--r-- 1 gilles gilles 55004160 2009-06-12 08:59 thumbnails-digikam.db >> [gilles@pc-caulier photos]$ >> >> Gilles Caulier >> > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Marcel Wiesweg
On Thursday 11 June 2009 19:36:44 Marcel Wiesweg wrote:
> SVN commit 980402 by mwiesweg: > > Adding the lines that switch on using a thumbnail database - not enabled > per default: > > NOTE: > You need to remove the comment signs around albummanager.cpp, lines > 685-687, to test the thumbnail database. > > For simplicity, it is always created in the directory of the main database > and named "thumbnails-digikam.db". It is using the PGF format to store > thumbnails. I am aware there are suggestions to use JPEG or Djvu. Used this for my files (15,000): 1) size of database: 243 MB, size of .thumbnails/large: 1.3GB 2) creation time - for me recreation of all thumbnails takes so long that I have to do other things in meantime so it is incomparable (and data useless) but just for interest it was cut 20% - and "live" creation of thumbs (displaying them with empty database) was faster for me than previously 3) what for me is most important - time of display of images which thumbs are already in database: unfortunately there is scientific method, just feelings - maybe bit faster, definitely not slower 4) quality of images (used default PGF, q=4, don't know how to switch to JPG): in normal, landscapes, portraits, etc. no difference, slightly lower quality (comparing to .thumbnails PNGs) with images with "hard" borders, eg. texts. 5) strange effect: very, very slow closing, window closes fast but after that digiKam makes multiple disk operations taking ca 50% of CPU m. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
2009/6/12 Mikolaj Machowski <[hidden email]>:
> On Thursday 11 June 2009 19:36:44 Marcel Wiesweg wrote: >> SVN commit 980402 by mwiesweg: >> >> Adding the lines that switch on using a thumbnail database - not enabled >> per default: >> >> NOTE: >> You need to remove the comment signs around albummanager.cpp, lines >> 685-687, to test the thumbnail database. >> >> For simplicity, it is always created in the directory of the main database >> and named "thumbnails-digikam.db". It is using the PGF format to store >> thumbnails. I am aware there are suggestions to use JPEG or Djvu. > > Used this for my files (15,000): > > 1) size of database: 243 MB, size of .thumbnails/large: 1.3GB > 2) creation time - for me recreation of all thumbnails takes so long that I > have to do other things in meantime so it is incomparable (and data useless) > but just for interest it was cut 20% - and "live" creation of thumbs > (displaying them with empty database) was faster for me than previously > 3) what for me is most important - time of display of images which thumbs are > already in database: unfortunately there is scientific method, just feelings - > maybe bit faster, definitely not slower > 4) quality of images (used default PGF, q=4, don't know how to switch to JPG): To switch to JPG, it's easy : http://lxr.kde.org/source/extragear/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp#481 Change this line to dbInfo.type = DatabaseThumbnail::JPEG; recompile, install. Remove your thumbs database file and start digiKam again.... Gilles > in normal, landscapes, portraits, etc. no difference, slightly lower quality > (comparing to .thumbnails PNGs) with images with "hard" borders, eg. texts. > 5) strange effect: very, very slow closing, window closes fast but after that > digiKam makes multiple disk operations taking ca 50% of CPU > > > m. > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel > Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
On Friday 12 June 2009 21:07:26 Gilles Caulier wrote:
> > Used this for my files (15,000): > > > > 1) size of database: 243 MB, size of .thumbnails/large: 1.3GB > > 2) creation time - for me recreation of all thumbnails takes so long that > > I have to do other things in meantime so it is incomparable (and data > > useless) but just for interest it was cut 20% - and "live" creation of > > thumbs (displaying them with empty database) was faster for me than > > previously 3) what for me is most important - time of display of images > > which thumbs are already in database: unfortunately there is scientific > > method, just feelings - maybe bit faster, definitely not slower > > 4) quality of images (used default PGF, q=4, don't know how to switch to > > JPG): > > To switch to JPG, it's easy : > > http://lxr.kde.org/source/extragear/graphics/digikam/libs/threadimageio/thu >mbnailcreator.cpp#481 > > Change this line to dbInfo.type = DatabaseThumbnail::JPEG; > > recompile, install. Remove your thumbs database file and start digiKam > again.... OK. First note: no way default JPEG comression for Qt is 85. Compiled only with your change and JPEG artefacts were visible in many images. Size of database was 142MB. Creation time comparable with PGF version, but quality much lower. Tested again with declaring 85 in http://lxr.kde.org/source/extragear/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp#498 And quality was much better with database size of 184MB and again roughly the same time of creation and quality similar to PGF version. However JPEG based db is much more resources intensive, eg. playing movies wasn't fluent while I was able to view them comfortably while creating PGF db. Quality slightly lower comparing to PGF but not dramatically. Time of display comparable. Pity you cannot change chroma subsampling when making JPEGs directly in Qt :( m. _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Gilles Caulier-4
> Result are better than PGF, from speed and space consumption point... > For me results with JPEG are better as well. I have an average size of 11KB per thumbnail (db file size / number of stored thumbnails). Most important for me: Subjectively, loading is faster than with PGF. (With maximum number of icons visible - no sidebars, fullscreen, minimum thumbnail size - I can mouse wheel scroll at a reasonable fast speed without seeing missing thumbnails) For me creation time is not important, because this is done once, but pregenerated thumbnail loading time, which is done everytime. Btw, once all thumbnails are built, because of the shortcomings that Andi mentioned, it is a benchmark of pregenerated thumbnail loading when running the "Rebuild Thumbnail -> Scan" dialog - it will load all existing thumbnails. Marcel _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
> Btw, once all thumbnails are built, because of the shortcomings that Andi > mentioned, it is a benchmark of pregenerated thumbnail loading when running > the "Rebuild Thumbnail -> Scan" dialog - it will load all existing > thumbnails. Forget this, Andi fixed it _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Marcel Wiesweg
2009/6/13 Marcel Wiesweg <[hidden email]>:
> >> Result are better than PGF, from speed and space consumption point... >> > > For me results with JPEG are better as well. > I have an average size of 11KB per thumbnail (db file size / number of stored > thumbnails). > Most important for me: Subjectively, loading is faster than with PGF. (With > maximum number of icons visible - no sidebars, fullscreen, minimum thumbnail > size - I can mouse wheel scroll at a reasonable fast speed without seeing > missing thumbnails) Well, what better then ? JPEG as well with a compression ratio upper than 75 (default Qt = 75) ? I recommend 85 instead... Mik, do you have tried 85 JPEG quality ? And in this case, DB will be bigger : which size compared to PGF ? > > For me creation time is not important, because this is done once, but > pregenerated thumbnail loading time, which is done everytime. Agree but it give info about algorithm optimization. For ex, JPEG2000 is a mess in this case... I'm in contact with libPGF team. I will ask speed optimization question comparing to JPEG. Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
| Free forum by Nabble | Edit this page |
