That’s still quite a lot, and significantly more than what I observe on other systems… if you have some time to help me dig into this, here is what I propose to do:
valgrindif you do not have them yet
- extract the AppImage:
mkdir $HOME/RawTherapee.AppDir && cd $HOME/RawTherapee.AppDir bsdtar xfp /path-to-where-you-downloaded-the-appimage/RawTherapee-dev-5.4-271-gfde0dccd.AppImage
AppRun script, comment out the last-but-one line and un-comment the last one, that should look like this:
#valgrind --tool=callgrind --instr-atstart=no "./bin/rawtherapee" "$@"
Start RT like this
Open a second terminal, and issue this command just before clicking on a main tab:
callgrind_control -i on
callgrind_control -i off
as soon as the tab switching is completed. Then exit RT.
This will save a function call graph under
$HOME/RawTherapee.AppDir/usr/callgrind.out.<pid> that can be visually inspected with
kcachegrind. Please send me this callgrind output, hopefully it will give us some hint of what functions are taking so long to complete…
Using the method above, I traced the slowness down to some
librsvg calls. What is strange is that AFAIK RT is not loading any .svg icon, so the reason for such calls is a mistery. Anyhow, compiling the code against
librsvg-2.42.1 solved the issue.
Regarding the camberra module, I still have to figure out how to make it work properly…