Summary: | Batch queue fails to process multiple files simultaneously (in parallel) | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Eduard Huguet <eduardhc> |
Component: | BatchQueueManager-Workflow | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | bugs, caulier.gilles, mailto.mikes, scramer |
Priority: | NOR | ||
Version: | 3.1.0 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.3.0 | |
Sentry Crash Report: |
Description
Eduard Huguet
2013-04-19 06:58:26 UTC
With 3.2.0-beta2, i can process Alpha A67 RAW in PNG without any problem here (i7 computer, 6 cores)... http://www.flickr.com/photos/digikam/8661749113/sizes/o/in/photostream/ What's your RAW workflow in BQM ? Gilles Caulier (In reply to comment #1) > With 3.2.0-beta2, i can process Alpha A67 RAW in PNG without any problem > here (i7 computer, 6 cores)... > > http://www.flickr.com/photos/digikam/8661749113/sizes/o/in/photostream/ > > What's your RAW workflow in BQM ? > > Gilles Caulier Hi, and thank you for the quick reaction :-) In this case, the one described above: I simply select the RAW files I want to convert (which I downloaded from the camera), and I add them to a new queue. Once in BQM, I adjust RAW opening options (nothing special: AMAZe filtering and leave most other options as default - have checked using Bilinear with the same results...), then add a single process step consisting on the "Convert to PNG" tool. I do this because I prefer to batch-convert all RAW files to PNG first, then edit every PNG one by one. I used to do that using old "Batch RAW converter" tool, but now this one has gone, as it has been replaced by BQM (which totally makes sense to me, anyway). However, I'm finding this unexpected problem. IIRC, the old tool was not processing files in parallel, so that might be the reason this problem arises now. It might be something related to specific versions of Digikam, libdcraw, etc... packed in Fedora 18. Since 3.0.0, kipi RAW converter processed files in parallel. You can try it from Gwenview for ex. Tool is just disabled in digiKam. It use the same background process than BQM to paralelize operations, but implementation is more complex of course due of capability to chain tools in a workflow. You don't need to turn your computer to single cpu through linux kernel option. In BQM, it's possible to turn off paralelization by patch source code like this : //----------------------------------------------------------------------------------------------------------------- diff --git a/utilities/queuemanager/manager/actionthread.cpp b/utilities/queuemanager/manager/actionthread.cpp index 7a0a004..5f33727 100644 --- a/utilities/queuemanager/manager/actionthread.cpp +++ b/utilities/queuemanager/manager/actionthread.cpp @@ -55,6 +55,8 @@ public: ActionThread::ActionThread(QObject* const parent) : RActionThreadBase(parent), d(new Private) { + setMaximumNumberOfThreads(1); + qRegisterMetaType<ActionData>(); connect(this, SIGNAL(finished()), //----------------------------------------------------------------------------------------------------------------- Please try it just to confirm the problem with paralelization. Q : why i cannot reproduce this problem on my computer. I use Sony Alpha camera in RAW and as you, i play with processed images in PNG... Gilles Caulier (In reply to comment #3) > Since 3.0.0, kipi RAW converter processed files in parallel. You can try it > from Gwenview for ex. Tool is just disabled in digiKam. It use the same > background process than BQM to paralelize operations, but implementation is > more complex of course due of capability to chain tools in a workflow. > > You don't need to turn your computer to single cpu through linux kernel > option. In BQM, it's possible to turn off paralelization by patch source > code like this : > > //--------------------------------------------------------------------------- > -------------------------------------- > diff --git a/utilities/queuemanager/manager/actionthread.cpp > b/utilities/queuemanager/manager/actionthread.cpp > index 7a0a004..5f33727 100644 > --- a/utilities/queuemanager/manager/actionthread.cpp > +++ b/utilities/queuemanager/manager/actionthread.cpp > @@ -55,6 +55,8 @@ public: > ActionThread::ActionThread(QObject* const parent) > : RActionThreadBase(parent), d(new Private) > { > + setMaximumNumberOfThreads(1); > + > qRegisterMetaType<ActionData>(); > > connect(this, SIGNAL(finished()), > //--------------------------------------------------------------------------- > -------------------------------------- > > Please try it just to confirm the problem with paralelization. > > Q : why i cannot reproduce this problem on my computer. I use Sony Alpha > camera in RAW and as you, i play with processed images in PNG... > > Gilles Caulier Interesting. I'll try later at home with the old batch convert tool in Gwenview, hadn't thought about it. Regarding about disabling parallelization by patching source code, I might give it a try later. I have a long experience regarding C++ & Qt, I just need to find the time to set up the compilation environment for Digikam, which I assume I will be complex (lots of dependencies needed, I guess...) And regarding final question: I don't know, frankly :-( . I'll retry later at home just to be sure that the problem is related to parallelization. Maybe it has to be with the version of the RAW decoding library (libdcraw, libopenraw...?) used in F18 (as I suspect that the bug is really not in Digikam itself, but there instead...). Git commit dd3dc1cdd2292f2c12b2927250619ae4781f3a61 by Gilles Caulier. Committed on 27/07/2013 at 09:10. Pushed by cgilles into branch 'master'. Batch Queue Manager : add new option to turn on/off multi-core support. This option is now turn off by default due to some dysfunctions under Windows, until it will be hack and fixed. Note that problem are not reproducible under OSX and Linux here. Options is implemnted for digiKam 3.3.0 release. Related: bug 315025, bug 318198, bug 320358 M +13 -1 utilities/queuemanager/manager/actionthread.cpp M +1 -1 utilities/queuemanager/manager/actionthread.h M +4 -1 utilities/queuemanager/manager/queuesettings.h M +9 -1 utilities/queuemanager/manager/workflowmanager.cpp M +14 -2 utilities/queuemanager/views/queuesettingsview.cpp http://commits.kde.org/digikam/dd3dc1cdd2292f2c12b2927250619ae4781f3a61 *** Bug 320358 has been marked as a duplicate of this bug. *** *** Bug 315025 has been marked as a duplicate of this bug. *** Eduard, This file still valid using last digiKam 4.2.0 ? Gilles Caulier Hi, Gilles Just testing it now using 4.2.0 from Fedora 20, and it seems to work fine. Thank you very much for your hard work! |