SUMMARY Color space/profile conversion happens in the foreground, causing Krita to go into the "No Responding" for quite a long time if user wants to convert a big file. STEPS TO REPRODUCE 1. Create 15 layers of the size of 4K (4000 x 2000). Make sure they're filled with something. 2. Go to Image -> Convert Image Color Space. Choose options. 3. Wait. OBSERVED RESULT Krita is not responding. (Windows adds "Not Responsing" message at the end of window title, you can't do anything, just wait.) EXPECTED RESULT Krita should either show a message with progress bar or work in a normal way. SOFTWARE/OS VERSIONS Version: 4.2.0-pre-alpha (git fb08951) Windows: 10 Qt Version: 5.12.2
There should be a progress bar in the layerbox, every layer should be converted in its own thread.
What about an animated layer with 15 frames? I think they should be converted simultanously, too. But the biggest problem is that Krita doesn't report doing anything, just tops responding. Krita taking time converting a lot of images is understable, but Krita not looking as if it does anything shouldn't happen, I think.
Yeah, every paint device should be converted simultaneously, for as many cores as are available. The reporting should happen in the layerbox, and I think we once even made sure Krita did not become irresponsive when that happened, so something might have regressed here.
If two developers agree on something being a bug, it is confirmed.
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/945
Git commit c241eac0ae3a60825cc4461a7078e8eaf64b84df by Dmitry Kazakov, on behalf of L. E. Segovia. Committed on 28/07/2021 at 06:01. Pushed by dkazakov into branch 'master'. Add progress bar to colorspace conversion command M +18 -5 libs/image/kis_paint_device.cc M +4 -2 libs/image/kis_paint_device.h M +16 -7 libs/image/kis_paint_device_data.h M +6 -4 libs/image/lazybrush/kis_colorize_mask.cpp M +4 -2 libs/image/lazybrush/kis_colorize_mask.h M +14 -8 libs/image/processing/kis_convert_color_space_processing_visitor.cpp https://invent.kde.org/graphics/krita/commit/c241eac0ae3a60825cc4461a7078e8eaf64b84df