[Bug 277927] New: Demosaicing (GUI) makes Xorg take 30% CPU

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

[Bug 277927] New: Demosaicing (GUI) makes Xorg take 30% CPU

S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927

           Summary: Demosaicing (GUI) makes Xorg take 30% CPU
           Product: digikam
           Version: 2.0.0
          Platform: openSUSE RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: [hidden email]
        ReportedBy: [hidden email]


Version:           2.0.0 (using Devel)
OS:                Linux

I'm not sure this is really bound to demosaicing, it might as well be a general
GUI issue.

If I open a RAW image in the image editor the demosaicing sidebar opens with
the post-processing tab active. That pane has two histograms which need
calculating i.e. they do not show up but have a turning circle which signals
that there is work in progress. Other than that there is only the progress bar
in the status bar at the bottom-left which moves.

These two elements or some non-visible task make Xorg consume 30% CPU and hence
slows down digikam's demosaicing. The cpu usage starts when the demosaicing
starts and stops as soon as the picture is displayed.

Disabling desktop effects does not help, so I do not think it is related to
some effect.

Or is Xorg used to demosaic?

Reproducible: Always

Steps to Reproduce:
Open the process list and sort for CPU usage
Set digikam to open the demosaicing tool when opening a RAW picture in the
image editor
Open a RAW picture in the image editor

Actual Results:  
Xorg consumes 30% CPU while demosaicing

Expected Results:  
Only digikam should consume cpu while demosaicing.

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

Marcel Wiesweg
https://bugs.kde.org/show_bug.cgi?id=277927





--- Comment #1 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-07-17 12:56:42 ---
I guess you compile from source. Go to libs/dimg/levels/histogramwidget.cpp,
method slotProgressTimerDone (line 496) and add "return;" as first statement in
that method. Recompile and check again, this time without the progress
indicator.

If CPU load is gone now:
- the Linux graphics stack needs to be fixed (Qt5, Wayland, Gallium)
- we should use update() instead of repaint()

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

S. Burmeister
In reply to this post by S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927





--- Comment #2 from S. Burmeister <sven burmeister gmx net>  2011-07-17 13:55:30 ---
With the histogram's turning circle stopped and only the same turning circle of
the luminosity curve moving Xorg is down to ~6% CPU usage. So maybe disabling
the turning for the luminosity curve improves things further.

Since they do not indicate any progress anyway, i.e. no percentage they might
as well be replaced with a static text "please wait while loading" or something
like that. And digikam could brag about having enhanced demosaicing speed by
30%. :)

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

Marcel Wiesweg
In reply to this post by S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927





--- Comment #3 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-07-17 14:28:03 ---
I will not change anything substantial in digikam because the Linux graphics
stack is so much broken with certain driver/X.org combinations that drawing a
32px pixmap needs 30% of a modern CPU.

I am currently updating parts of the HistogramWidget, removing the use of
repaint(), using an animation so that at least on our end we do everything as
we should.

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

Marcel Wiesweg
In reply to this post by S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927


Marcel Wiesweg <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED




--- Comment #4 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-07-17 14:57:46 ---
Git commit 8edb81662a6727f1d6a2c76ce006d0d990fcb2e9 by Marcel Wiesweg.
Committed on 17/07/2011 at 16:35.
Pushed by mwiesweg into branch 'master'.

Remove all calls to repaint(), use update(). Remove self-made timer, use
QAnimation framework.
Remove a lot of code duplication.

BUG: 277927

M  +12   -8    libs/dimg/filters/levels/histogramwidget.h
M  +5    -2    libs/dimg/filters/levels/imagehistogram.h
M  +6    -6    libs/dimg/filters/curves/curveswidget.cpp
M  +223  -283  libs/dimg/filters/levels/histogramwidget.cpp
M  +2    -2    libs/dimg/filters/curves/curveswidget.h
M  +6    -5    libs/dimg/filters/levels/imagehistogram.cpp

http://commits.kde.org/digikam/8edb81662a6727f1d6a2c76ce006d0d990fcb2e9

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

Gilles Caulier-4
In reply to this post by S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Version Fixed In|                            |2.0.0

--
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 277927] Demosaicing (GUI) makes Xorg take 30% CPU

bugzilla_noreply
In reply to this post by S. Burmeister
https://bugs.kde.org/show_bug.cgi?id=277927

[hidden email] changed:

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

--
You are receiving this mail because:
You are the assignee for the bug.