[Bug 289204] New: General performance problems because of lacking multithreading / multicore support

classic Classic list List threaded Threaded
38 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[Bug 289204] New: General performance problems because of lacking multithreading / multicore support

Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

           Summary: General performance problems because of lacking
                    multithreading / multicore support
           Product: digikam
           Version: 2.3.0
          Platform: openSUSE RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: wishlist
          Priority: NOR
         Component: general
        AssignedTo: [hidden email]
        ReportedBy: [hidden email]


Version:           2.3.0 (using KDE 4.7.3)
OS:                Linux

The release announcement of Digikam 1.2.0 claims the implementation of
multithreading support. However, as of 2.3.0 very basic components of Digikam
still are seemingly lacking real multicore support for modern CPUs.

This leads to (very...) poor performance especially when handling larger albums
with hi-res photos.

Examples (on a Phenom quadcore with 2.4 Ghz each core):

Thumbnail generation definitely only uses one processor core. If it is running
in the background, Digikam can get unusable for long periods of time. This is
especially annoying as simple operations like "changing time/date of photos"
lead to a void rebuild of the thumbnails. (Should I file this as a seperate
bug?)
- Time consuming effects (like local contrast) are obviously only single-core.
- In this I'm not quite sure, but sometimes viewing pictures takes so much time
that I wonder if the picture viewer is also only single threaded.

Generally I have the feeling that during Digikam operations only one processor
core is used most of the time (according to sysinfo plasmoid and top).

Reproducible: Didn't try

Steps to Reproduce:
Do anything that requires e.g. rebuilding thumbnails in a bigger album.

Actual Results:  
Digikam gets sluggish and hangs for minutes. Only one processor cores is
working, albeit at 100%.

Expected Results:  
Smoothly background workload done by all processor cores.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
https://bugs.kde.org/show_bug.cgi?id=289204


Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]




--- Comment #1 from Gilles Caulier <caulier gilles gmail com>  2011-12-17 16:07:10 ---
*** Bug 160873 has been marked as a duplicate of this bug. ***

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]
          Component|general                     |Maintenance

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #2 from Gilles Caulier <[hidden email]> ---
Git commit 9ba77fdbce49247df206d9f26251d82e1558348a by Gilles Caulier.
Committed on 09/08/2013 at 12:50.
Pushed by cgilles into branch 'master'.

Maintenance Tool : Add Multi-core support for Metadata Synchronizer tool.
Now, metadata synchronization between database and files (and vis-versa) is
multi-threaded and use multi-core CPU.
This do not freeze GUI as previous in previous versions and speed to process
files is drasticaly increased.

M  +2    -0    CMakeLists.txt
M  +23   -35   utilities/maintenance/metadatasynchronizer.cpp
M  +2    -0    utilities/maintenance/metadatasynchronizer.h
A  +106  -0    utilities/maintenance/metadatatask.cpp     [License: GPL (v2+)]
A  +76   -0    utilities/maintenance/metadatatask.h     [License: GPL (v2+)]
A  +119  -0    utilities/maintenance/metadatathread.cpp     [License: GPL
(v2+)]
A  +82   -0    utilities/maintenance/metadatathread.h     [License: GPL (v2+)]

http://commits.kde.org/digikam/9ba77fdbce49247df206d9f26251d82e1558348a

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #3 from Gilles Caulier <[hidden email]> ---
This is a list of features supported by In Maintenance tools :

* Scan for new items :
- multi-threaded : yes
- multi-core CPU : no (*)

* Rebuild Thumbnails :
- multi-threaded : yes
- multi-core CPU : no (TODO using ThreadWeaver)

* Rebuild Finger-prints :
- multi-threaded : yes
- multi-core CPU : no (TODO using ThreadWeaver)

* Find Duplicates Items :
- multi-threaded : no (KIO-SLAVE)
- multi-core CPU : no (KIO-SLAVE)

* Detect and Recognize Faces :
- multi-threaded : yes
- multi-core CPU : yes

* Sync Metadata and DB :
- multi-threaded : yes
- multi-core CPU : yes

Marcel, can you comment (*) about multi-core support plan in ScanController &
co. Thanks in advance...

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #4 from Gilles Caulier <[hidden email]> ---
Git commit 48b47b5402366ba05c400ac2996fc26535601639 by Gilles Caulier.
Committed on 14/08/2013 at 15:57.
Pushed by cgilles into branch 'master'.

Maintenance tool : Thumbs Generator now support multi-core CPU

M  +1    -0    CMakeLists.txt
M  +19   -2    utilities/maintenance/maintenancethread.cpp
M  +3    -0    utilities/maintenance/maintenancethread.h
M  +2    -3    utilities/maintenance/metadatatask.cpp
M  +25   -57   utilities/maintenance/thumbsgenerator.cpp
M  +2    -4    utilities/maintenance/thumbsgenerator.h
C  +28   -33   utilities/maintenance/thumbstask.cpp [from:
utilities/maintenance/metadatatask.cpp - 050% similarity]
C  +25   -21   utilities/maintenance/thumbstask.h [from:
utilities/maintenance/thumbsgenerator.h - 052% similarity]     [License:
UNKNOWN]  *

The files marked with a * at the end have a non valid license. Please read:
http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are
listed at that page.


http://commits.kde.org/digikam/48b47b5402366ba05c400ac2996fc26535601639

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #5 from Gilles Caulier <[hidden email]> ---
Git commit af5d9098daf2fff82652e0f27013bec8ffe8062b by Gilles Caulier.
Committed on 16/08/2013 at 05:58.
Pushed by cgilles into branch 'master'.

MantenanceTool : FingerPrints generator is now able to use Multi-core CPU.

M  +1    -0    CMakeLists.txt
M  +23   -64   utilities/maintenance/fingerprintsgenerator.cpp
M  +4    -4    utilities/maintenance/fingerprintsgenerator.h
C  +32   -18   utilities/maintenance/fingerprintstask.cpp [from:
utilities/maintenance/thumbstask.cpp - 050% similarity]
C  +31   -19   utilities/maintenance/fingerprintstask.h [from:
utilities/maintenance/fingerprintsgenerator.h - 057% similarity]
M  +19   -2    utilities/maintenance/maintenancethread.cpp
M  +5    -3    utilities/maintenance/thumbsgenerator.cpp
M  +3    -1    utilities/maintenance/thumbstask.cpp

http://commits.kde.org/digikam/af5d9098daf2fff82652e0f27013bec8ffe8062b

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Maintenance                 |general

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #6 from Gilles Caulier <[hidden email]> ---
Git commit c7a52e8fe575e2e4b527416f245ca7e056296855 by Gilles Caulier.
Committed on 01/05/2014 at 20:25.
Pushed by cgilles into branch 'master'.

Blur Tool : add support of multicore CPU. Use new fast algorithm of simple blur
based on original implemntation from
libkimageeffect2 code (never released) written by Daniel M Duley.
Code have been ported to DImg and to support 1§ bits color depth image of
course.
CImg dependency to Blur tool have been dropped.
Old and slow Guaussian blur algorithm have been removed
CCMAIL: [hidden email]

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +124  -357  libs/dimg/filters/fx/blurfilter.cpp
M  +8    -41   libs/dimg/filters/fx/blurfilter.h

http://commits.kde.org/digikam/c7a52e8fe575e2e4b527416f245ca7e056296855

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #7 from Gilles Caulier <[hidden email]> ---
Git commit cb3bec4e49d903288335d1f1eeccc5141cb86878 by Gilles Caulier.
Committed on 03/05/2014 at 16:34.
Pushed by cgilles into branch 'master'.

Charcoal Tool : add support of multicore CPU based on QtConcurrent API.

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +1    -0    libs/dimg/filters/fx/blurfilter.cpp
M  +0    -2    libs/dimg/filters/fx/blurfilter.h
M  +113  -66   libs/dimg/filters/fx/charcoalfilter.cpp
M  +4    -3    libs/dimg/filters/fx/charcoalfilter.h

http://commits.kde.org/digikam/cb3bec4e49d903288335d1f1eeccc5141cb86878

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #8 from Gilles Caulier <[hidden email]> ---
Git commit b451f671f393ebac6ea09957fa8e9635a1ceeb3f by Gilles Caulier.
Committed on 04/05/2014 at 07:34.
Pushed by cgilles into branch 'master'.

OilPaint Tool : add support of multicore CPU based on QtConcurrent API.

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +70   -51   libs/dimg/filters/fx/oilpaintfilter.cpp
M  +4    -3    libs/dimg/filters/fx/oilpaintfilter.h

http://commits.kde.org/digikam/b451f671f393ebac6ea09957fa8e9635a1ceeb3f

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #9 from Gilles Caulier <[hidden email]> ---
Git commit 5776c84b0ab1dacdd99cbac606e659c252484a11 by Gilles Caulier.
Committed on 05/05/2014 at 14:11.
Pushed by cgilles into branch 'master'.

Emboss Tool : add support of multicore CPU based on QtConcurrent API.

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +73   -38   libs/dimg/filters/fx/embossfilter.cpp
M  +2    -1    libs/dimg/filters/fx/embossfilter.h

http://commits.kde.org/digikam/5776c84b0ab1dacdd99cbac606e659c252484a11

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #10 from Gilles Caulier <[hidden email]> ---
Git commit ed81651f82024885f0cd3d206587b3c691a45b10 by Gilles Caulier.
Committed on 05/05/2014 at 14:45.
Pushed by cgilles into branch 'master'.

Raindrop Tool : add support of multicore CPU based on QtConcurrent API.

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +63   -29   libs/dimg/filters/fx/raindropfilter.cpp
M  +18   -1    libs/dimg/filters/fx/raindropfilter.h

http://commits.kde.org/digikam/ed81651f82024885f0cd3d206587b3c691a45b10

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #11 from Gilles Caulier <[hidden email]> ---
Git commit cee47d42b0b6313e3f37a45b383c437a24929458 by Gilles Caulier.
Committed on 06/05/2014 at 12:29.
Pushed by cgilles into branch 'master'.

FilmGrain Tool : add support of multicore CPU based on QtConcurrent API.

M  +82   -35   libs/dimg/filters/fx/filmgrainfilter.cpp
M  +2    -0    libs/dimg/filters/fx/filmgrainfilter.h

http://commits.kde.org/digikam/cee47d42b0b6313e3f37a45b383c437a24929458

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #12 from Gilles Caulier <[hidden email]> ---
Git commit c63d1ffd627958d2dff8b89a704ca132740daa70 by Gilles Caulier.
Committed on 06/05/2014 at 13:52.
Pushed by cgilles into branch 'master'.

NoiseReduction Tool : add support of multicore CPU based on QtConcurrent API.

M  +1    -0    NEWS
M  +1    -1    imageplugins/TODO
M  +137  -248  libs/dimg/filters/nr/nrfilter.cpp
M  +21   -9    libs/dimg/filters/nr/nrfilter.h

http://commits.kde.org/digikam/c63d1ffd627958d2dff8b89a704ca132740daa70

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #13 from Gilles Caulier <[hidden email]> ---
Git commit 62e99542a3edf1a6b383b116ffaeee15403b6987 by Gilles Caulier.
Committed on 06/05/2014 at 14:30.
Pushed by cgilles into branch 'master'.

add info about CPU cores available in Information Dialog

M  +5    -1    libs/dialogs/libsinfodlg.cpp
M  +1    -1    libs/dialogs/libsinfodlg.h

http://commits.kde.org/digikam/62e99542a3edf1a6b383b116ffaeee15403b6987

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #14 from Gilles Caulier <[hidden email]> ---
Example of digiKam running in multicore with Refocus tool.

https://www.flickr.com/photos/digikam/14099672266/sizes/o

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #15 from Gilles Caulier <[hidden email]> ---
Git commit 520094d5daa86b5dee1d02dd482d762a116ebeee by Gilles Caulier.
Committed on 07/05/2014 at 12:34.
Pushed by cgilles into branch 'master'.

ZoomBlur effect : add support of multicore CPU based on QtConcurrent API.
Computation time is divied by 2 un i7 (8 core CPU)

M  +95   -70   libs/dimg/filters/fx/blurfxfilter.cpp
M  +16   -0    libs/dimg/filters/fx/blurfxfilter.h

http://commits.kde.org/digikam/520094d5daa86b5dee1d02dd482d762a116ebeee

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #16 from Gilles Caulier <[hidden email]> ---
Git commit e5d465a5bfe4a94dcd2d1f05b195e7ff97601d37 by Gilles Caulier.
Committed on 07/05/2014 at 15:18.
Pushed by cgilles into branch 'master'.

RadialBlur effect : add support of multicore CPU based on QtConcurrents API.
Computation time is divided by 5 with i7 (8 core CPU)

M  +102  -75   libs/dimg/filters/fx/blurfxfilter.cpp
M  +3    -2    libs/dimg/filters/fx/blurfxfilter.h

http://commits.kde.org/digikam/e5d465a5bfe4a94dcd2d1f05b195e7ff97601d37

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 289204] General performance problems because of lacking multithreading / multicore support

Gilles Caulier-4
In reply to this post by Bugzilla from bugzilla@go4more.de
https://bugs.kde.org/show_bug.cgi?id=289204

--- Comment #17 from Gilles Caulier <[hidden email]> ---
Git commit c94c9f4aa3c670f82c930c00a0fb873d0a3a2d55 by Gilles Caulier.
Committed on 07/05/2014 at 17:19.
Pushed by cgilles into branch 'master'.

Mosaic effect : add support of multicore CPU based on QtConcurrents API.
Computation time is divided by 2 with i7 (8 core CPU)

M  +63   -37   libs/dimg/filters/fx/blurfxfilter.cpp
M  +8    -3    libs/dimg/filters/fx/blurfxfilter.h

http://commits.kde.org/digikam/c94c9f4aa3c670f82c930c00a0fb873d0a3a2d55

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
12