[Digikam-devel] [digikam] [Bug 322789] Enabling "color managed view" in editor slows down tool startup
Peter Albrecht
px79 at crazymonkeys.de
Sat Jan 4 20:57:18 GMT 2014
https://bugs.kde.org/show_bug.cgi?id=322789
--- Comment #18 from Peter Albrecht <px79 at crazymonkeys.de> ---
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.
More information about the Digikam-devel
mailing list