https://bugs.kde.org/show_bug.cgi?id=322789
Bug ID: 322789 Summary: Enabling "color managed view" in editor slows down tool startup Classification: Unclassified Product: digikam Version: 3.2.0 Platform: Gentoo Packages OS: Linux Status: UNCONFIRMED Severity: minor Priority: NOR Component: Image Editor Assignee: [hidden email] Reporter: [hidden email] With digiKam 3.2.0 I encountered the following "problem": Open an image with the "Image Editor". Having "Color Managed View" enabled, the startup of tools like "Brightness / Contrast / Gamma" takes a lot of time. The time from clicking the menu item until having the tool ready to be used, ranges from 4 seconds to even 12 seconds. Doing a parallel "strace -fp <digikam-pid>" gives me 86 times the line open("/usr/share/apps/libkdcraw/profiles/srgb-d65.icm", O_RDONLY|O_CLOEXEC) = 23 This does not seem to be intended and could explain the long delay for the tool startup. If I disable "Color Managed View" in the "Image Editor" with the small toggle button in the lower right corner, the tool "Brightness / Contrast / Gamma" starts up in less than 1 second. Similar effect for tools "White Balance" or "Hue / Saturation / Lightness" but with these the delay it at max by 6 seconds. I'm using digiKam 3.2.0 with KDE 4.10.4 at the moment. This problem did not occur with digiKam 3.1.0 and KDE 4.10.3. Reproducible: Always -- 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 |
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #1 from Peter Albrecht <[hidden email]> --- Someone else has reported digiKam slowdown because of Color Management on the mailing list: http://mail.kde.org/pipermail/digikam-users/2013-March/017555.html Maybe these issues are related. -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #2 from Peter Albrecht <[hidden email]> --- Another interesting issue: I load an image in the Image Editor. Toggling "Color Managed View" on/off via the little button in the lower right corner (or keyboard shortcut F12) is in effect almost immediately (less than 1 second). When I have started the tool "Brightness / Contrast / Gamma", disabling "Color Managed View" is in effect in also no time (less than 1 second). But enabling "Color Managed View" again take 4 to 6 seconds. -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #3 from Peter Albrecht <[hidden email]> --- I guess my digiKam is using lcms 2.3 (version 2030): digiKam version 3.2.0 Exiv2 can write to Jp2: Yes Exiv2 can write to Jpeg: Yes Exiv2 can write to Pgf: Yes Exiv2 can write to Png: Yes Exiv2 can write to Tiff: Yes Exiv2 supports XMP metadata: Yes LibCImg: 130 LibEigen: 3.0.6 LibExiv2: 0.23 LibJPEG: 80 LibJasper: 1.900.1 LibKDE: 4.10.4 LibKExiv2: 2.3.0 LibKGeoMap: 2.0.0 LibKdcraw: 2.2.0 LibLCMS: 2030 LibPGF: 6.12.27 - external shared library LibPNG: 1.5.15 LibQt: 4.8.4 LibRaw: 0.15.0-Beta1 LibTIFF: LIBTIFF, Version 4.0.3 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble Widget: 0.15.1 (stable version) Parallelized PGF codec: No Parallelized demosaicing: No RawSpeed codec support: No Database backend: QSQLITE Kipi-Plugins: 3.2.0 LibKface: 2.0.0 LibKipi: 2.0.0 LibOpenCV: 2.4.5 Libface: 0.2 But there is also a lcms 1.19 installed on my computer. Is it a problem, that the different lcms-versions a used by different digikam compontents? media-gfx/digikam-3.2.0 (media-libs/lcms:2) kde-base/libkdcraw-4.10.4 (media-libs/lcms:0) kde-base/libkexiv2-4.10.4 (media-libs/lcms:0) Slot 0 means lcms 1.19, slot 2 means lcms 2.3 -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
Gilles Caulier <[hidden email]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[hidden email] --- Comment #4 from Gilles Caulier <[hidden email]> --- No. LCMS 1 and 2 can be installed at the same time. digiKam will be compile with 1 or 2. There is no risk of dysfunction. It work fine here under Linux like this. I suspect really a problem with you ICC settings (color profiles) which can be not handle properly by LCMS. In fact, in backgroung, digiKam delegate CM to LCMS... 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #5 from Peter Albrecht <[hidden email]> --- Created attachment 81425 --> https://bugs.kde.org/attachment.cgi?id=81425&action=edit The ICC file used by dispcalGUI So, if you suspect the problem to be with the ICC file, I guess, it is a good idea to post this here. ;) Maybe someone can reproduce this bug with my ICC file. I have no deep knowledge about color management, so if you need more files or settings to reproduce, I am glad to provide those. I used a colorhug and Dmitri's tutorial (http://scribblesandsnaps.com/tag/colorhug/) to create this profile. I don't remember all the details, since this profile is from February 2013. At the moment, I use: - dispcalGUI - 1.2.7.0 - argyllcms - 1.4.0-r1 -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #6 from Peter Albrecht <[hidden email]> --- I downgraded digikam from 3.2.0 back to 3.1.0. (No other changes on the system.) And now the problem is gone: Starting the tool "Brightness / Contrast / Gamma" take only 2 seconds. this is acceptable. (Instead of 10 seconds with digikam 3.2.0). So this seems to be a bug, introduced with digikam 3.2.0. :( (In reply to comment #0) > Doing a parallel "strace -fp <digikam-pid>" gives me 86 times the line > open("/usr/share/apps/libkdcraw/profiles/srgb-d65.icm", > O_RDONLY|O_CLOEXEC) = 23 > > This does not seem to be intended and could explain the long delay for the > tool startup. I have to revert this statement. With digikam 3.1.0, I see the line open("/usr/share/apps/libkdcraw/profiles/srgb-d65.icm", O_RDONLY|O_CLOEXEC) = 24 to appear 156 times, while starting the tool "Brightness / Contrast / Gamma". But it only takes 2 seconds!?!? So this seems not to be the culprit. -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #8 from Gilles Caulier <[hidden email]> --- yes, i use CM, with profile done by me using ColorHug device : http://www.hughski.com/ I will attach my monitor profile to this entry... 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #9 from Gilles Caulier <[hidden email]> --- Created attachment 84075 --> https://bugs.kde.org/attachment.cgi?id=84075&action=edit color profile computed with ColorHug device on my LG IPS LED 27EA33 monitor -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #10 from Peter Albrecht <[hidden email]> --- Gilles, thanks a lot for posting your icc profile! (I use a ColorHug, too ;) Unfortunately using your icc profile leads to the same, long waitingtime. But I have discovered another interesting fact for this issue: DigiKam 3.1.0, which worked fine for me, in gentoo linux was build with LCMS 1.19 (http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/digikam/digikam-3.1.0.ebuild?view=markup says "media-libs/lcms:0" which is "slot 0" containing version LCMS 1.19) DigiKam 3.2.0 and digiKam 3.5.0, which both lead to long waitingtimes for me, in gentoo linux are build with LCMS 2.x. (Both http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/digikam/digikam-3.2.0.ebuild?revision=1.6&view=markup and http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-gfx/digikam/digikam-3.5.0.ebuild?revision=1.2&view=markup depend on "media-libs/lcms:2" which is "slot 2" containing version LCMS 2.x) I tested digiKam with LCMS versions 2.3 and 2.5, which lead both to long waitingtimes at opening Tools like "Brightness / Contrast / Gamma" in Image Editor. In comment #4 you wrote: > No. LCMS 1 and 2 can be installed at the same time. digiKam will be compile > with 1 or 2. There is no risk of dysfunction... Is this still valid for digiKam 3.5.0? If, yes, I could build my digiKam with LCMS 1.19 and get rid of the long waiting times, again. Which version of LCMS do you use with digiKam? -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #11 from Gilles Caulier <[hidden email]> --- I use LCMS2 : digiKam version 4.0.0-beta2 Demosaic GPL2 pack support: No Demosaic GPL3 pack support: No Exiv2 can write to Jp2: Yes Exiv2 can write to Jpeg: Yes Exiv2 can write to Pgf: Yes Exiv2 can write to Png: Yes Exiv2 can write to Tiff: Yes Exiv2 supports XMP metadata: Yes LibCImg: 130 LibEigen: 3.1.2 LibExiv2: 0.23 LibJPEG: 80 LibJasper: 1.900.1 LibKDE: 4.10.5 LibKExiv2: 2.3.1 LibKGeoMap: 2.0.0 LibKdcraw: 2.4.2 LibLCMS: 2050 <<<<<<<<<<<<<<<<<<<<<<<<<<<!!!!!!!!!!!!!!!!!!!!!!!! LibLensFun: 0.2.6-0 LibPGF: 6.13.45 - internal library LibPNG: 1.5.13 LibQt: 4.8.5 LibRaw: 0.16.0-Alpha2 LibTIFF: LIBTIFF, Version 4.0.3 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble Widget: 0.15.1 (stable version) Parallelized PGF codec: No Parallelized demosaicing: Yes RawSpeed codec support: No Database backend: QSQLITE Kipi-Plugins: 4.0.0-beta2 LibGphoto2: 2.5.2 LibKface: 3.0.0 LibKipi: 2.1.0 LibOpenCV: 2.4.3 -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #12 from Peter Albrecht <[hidden email]> --- Same version here: digiKam version 3.5.0 Exiv2 can write to Jp2: Yes Exiv2 can write to Jpeg: Yes Exiv2 can write to Pgf: Yes Exiv2 can write to Png: Yes Exiv2 can write to Tiff: Yes Exiv2 supports XMP metadata: Yes LibCImg: 130 LibEigen: 3.0.6 LibExiv2: 0.23 LibJPEG: 80 LibJasper: 1.900.1 LibKDE: 4.10.5 LibKExiv2: 2.3.0 LibKGeoMap: 2.0.0 LibKdcraw: 2.2.0 LibLCMS: 2050 <------------------------------------------------ LibPGF: 6.12.27 - external shared library LibPNG: 1.5.17 LibQt: 4.8.5 LibRaw: 0.15.2 LibTIFF: LIBTIFF, Version 4.0.3 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble Widget: 0.15.1 (stable version) Parallelized PGF codec: No Parallelized demosaicing: Yes RawSpeed codec support: No Database backend: QSQLITE Kipi-Plugins: 3.2.0 LibKface: 3.0.0 LibKipi: 2.0.0 LibOpenCV: 2.4.5 -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #13 from Gilles Caulier <[hidden email]> --- As CM is relevant of screen, perhaps there is a problem with your video driver... But not sure. Can you reproduce this dysfunction on a different computer or in a VM ? 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #14 from Peter Albrecht <[hidden email]> --- Another interesting fact on this issue: When I open digikam and start Image Editor on an image with 4752 x 3168 pixel, Image Editor is ready to use in about 1 second. And the Image Editor also shows me a color managed image. So this is no sole LCMS-problem, but something "special" with the Image Editor tools. (I updated to KDE 4.11.2 in the meantime. Problem still there) -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #15 from Peter Albrecht <[hidden email]> --- I have reported this bug at gentoo's bug-tracker, too: https://bugs.gentoo.org/show_bug.cgi?id=496140 Maybe it is gentoo specific and another gentoo user can reproduce this. (In reply to comment #13) > Can you reproduce this dysfunction on a different computer or in a VM ? Installing gentoo on a different computer / VM is a lot of work, so I try to avoid it. But if this is the last chance to identify this bug, I might go this step, too. -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #16 from Peter Albrecht <[hidden email]> --- Update: Andreas K. Hüttel (Gentoo KDE Team) had the great idea to do an strace on this strange digiKam / LCMS behaviour. See https://bugs.gentoo.org/show_bug.cgi?id=496140#c5 The result is very interesting: During one start of the tool "Brightness / Contrast / Gamma..." you can find 464 times the following lines in the strace log: ------------------------------------- 8< ------------------------------------- open("/usr/share/apps/libkdcraw/profiles/srgb-d65.icm", O_RDONLY|O_CLOEXEC) = 65 fcntl(65, F_SETFD, FD_CLOEXEC) = 0 fstat(65, {st_mode=S_IFREG|0644, st_size=6924, ...}) = 0 fstat(65, {st_mode=S_IFREG|0644, st_size=6924, ...}) = 0 fstat(65, {st_mode=S_IFREG|0644, st_size=6924, ...}) = 0 read(65, "\0\0\33\flcms\0020\0\0mntrRGB XYZ \7\324\0\10\0\r\0\f"..., 16384) = 6924 read(65, "", 9460) = 0 close(65) = 0 ------------------------------------- >8 ------------------------------------- The whole content of 6924 bytes is compleately read 464 times. Does some have an idea, why? Normally you would load a file once and keep it in memory. -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #17 from Peter Albrecht <[hidden email]> --- Hi Gilles, I tried some debugging. (I never wrote a KDE programm, nor did I debug one, so I may be wrong). When I open the "Brightness / Contrast / Gamma..." tool in Image Editor, gdb comes along the following positions. *** Position A: digikam-3.5.0/core/utilities/imageeditor/editor/editortool.cpp, line 98 void EditorTool::init() { QTimer::singleShot(0, this, SLOT(slotInit())); } *** Position B: digikam-3.5.0/core/utilities/imageeditor/editor/editortool.cpp, line 414 void EditorToolThreaded::slotInit() { EditorTool::slotInit(); ... } Beeing at postion A (breakpoint) and pressing "continue" in KDevelop/GDB, I have to wait 5 seconds, until position B (breakpoint) is reached. But I don't know, why. I guess there are other events waiting in an eventloop. But I don't know how to debug/find those. Do you have any hint/trick for me? -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #18 from Peter Albrecht <[hidden email]> --- Ok, I am one step further: Valgrind can generate a very nice call graph. ;) Based on the positions in comment #17: Between position A and position B, I get about ~70 calls to "IccTransform::apply (DImg& image, DImgLoaderObserver* const observer)" The callstack is every time: #0 Digikam::IccTransform::apply() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/libs/dimg/filters/icc/icctransform.cpp:615 #1 Digikam::DImg::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/libs/dimg/dimg.cpp:2038 #2 Digikam::EditorCore::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/core/editorcore.cpp:999 #3 Digikam::ImageIface::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/plugin/imageiface.cpp:309 #4 Digikam::ImageRegionWidget::paintPreview() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/q3support/imageregionwidget.cpp:141 #5 Digikam::PreviewWidget::viewportPaintEvent() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/q3support/previewwidget.cpp:591 (#6 qt4 event handling ...) After the breakpoint at position B, there are another ~70 calls to "IccTransform::apply" with the exact same backtrace. After those second ~70 calls, there is one further call to "IccTransform::apply" with backtrace: #0 Digikam::IccTransform::apply() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/libs/dimg/filters/icc/icctransform.cpp:615 #1 Digikam::DImg::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/libs/dimg/dimg.cpp:2038 #2 Digikam::EditorCore::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/core/editorcore.cpp:999 #3 Digikam::ImageIface::convertToPixmap() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/plugin/imageiface.cpp:309 #4 Digikam::ImageRegionWidget::setPreviewImage() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/q3support/imageregionwidget.cpp:446 #5 DigikamColorImagePlugin::BCGTool::setPreviewImage() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/imageplugins/color/bcgtool.cpp:174 #6 Digikam::EditorToolThreaded::slotFilterFinished() at /srv/local/debug/media-gfx/digikam-3.5.0/work/digikam-3.5.0/core/utilities/imageeditor/editor/editortool.cpp:535 After this one call, the "Brightness / Contrast / Gamma..." tool in Image Editor is ready to be used. I don't believe, all those ~140 calls to "IccTransform::apply" are correct. So I'll try to find out, who's firing those "viewportPaintEvent"s. Hints on finding the sender of those events are welcome, of course. ;) -- 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #19 from Gilles Caulier <[hidden email]> --- You have right. IccTransform::apply() must be called one time, for whole image. It sound like a initialization problem in GUI which call back canvas widget drawing when it display on screen. An editor tool has a dedicated canvas view. It's not the same than main canvas view of editor. Both are displayed using a stack. It's designed in editor tool core. When tool is done, it's applied to main image and lead canvas is displayed again. I suspect that dysfunction have been introduced by my fix from bug #323498. 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 |
In reply to this post by Peter Albrecht-2
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #20 from Gilles Caulier <[hidden email]> --- The fix is this one : https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/aa796e8a553b94da6c2b05a24ba66a94673171b1 Look code in EditorTool especially. The commit have been designed to fix Inpainting and Restoration tool initialization. Sound like this have side effect to others tools... 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 |
Free forum by Nabble | Edit this page |