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:
- install
bsdtarandvalgrindif 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
Edit the 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
./AppRun
Open a second terminal, and issue this command just before clicking on a main tab:
callgrind_control -i on
followed by
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…
Thanks!