Bug 364037

Summary: Massive performance drop/lag when trying to move layers via drag and drop
Product: [Applications] krita Reporter: xilverwuff
Component: Layer StackAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: halla, tysontanx
Priority: NOR    
Version: 3.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Video capture of the performance loss during layer movement

Description xilverwuff 2016-06-06 19:52:07 UTC
I experience a massive lag and performance dropdown when I try to move layers via drag and drop in Krita. Doing so with the provided buttons in the Layers tab works very fine. Krita doesn't respond for a few seconds (or up to minutes).

This happens already in a document with three Layers, yet the lag is very small. At times when I have a file with many layers (40+), it crashes the program, sometimes it takes up to 2 minutes for krita to respond again, with the layer stuck to the cursor until I click somewhere. When a Mask or something else is attached to the layer, this extends the "outage" time or the program crashes after not responding anymore. The number of layers increases the time, also the layers have to be filled with content and may not be empty.

In Krita 2.9, doing this in the same document works perfectly fine. I experienced no other performance lags (i.e. while drawing or using filters or masks) before or after this issue.

Reproducible: Always

Steps to Reproduce:
1. Open a new document around 4k size
2. create around 10-15 layers, each filled with content
3. Add a transparency mask to one of the layers and use a bit of black to hide some of the layer's content
3. Re-Arrange this layer via drag and drop in the Layer-Tab

Actual Results:  
Krita slows down and completely stops working for around 15 seconds, before going back to function at very reduced performance until the layer has been placed.

Expected Results:  
providing a smooth re-arranging of layers like all previous versions did

I'm using a Laptop with an intel i5-4210H CPU, 8 Gbyte of ram and an nVidia Gforce 960m. Krita runs with using the nvidia graphics card.
Comment 1 Halla Rempt 2016-06-07 07:46:16 UTC
Hm, I'm not sure what's going on -- for both me and Dmitry, rearranging layers in an image structured like that is instant. Could you maybe make a video showing the problem?
Comment 2 xilverwuff 2016-06-12 09:10:08 UTC
Created attachment 99467 [details]
Video capture of the performance loss during layer movement

Hey, sorry for the wait - I tried to capture the experienced bug on video. As you can see, after I move the layer, krita stops working for several seconds, the 2nd time it even freezes for short. I hope this helps!
Comment 3 Halla Rempt 2016-06-12 11:29:23 UTC
We got another report of this as well, I'll merge the bugs.
Comment 4 Halla Rempt 2016-06-12 11:29:54 UTC
*** Bug 340736 has been marked as a duplicate of this bug. ***
Comment 5 Dmitry Kazakov 2016-06-21 12:01:00 UTC
Git commit 7b1b729cf5643574ff049d13c624e8562fcd5770 by Dmitry Kazakov.
Committed on 21/06/2016 at 12:00.
Pushed by dkazakov into branch 'master'.

Add two patches for the Windows version of Qt

This effectively fixes the D&D stalls when Qt tried to
request entire QImage every time Windows asks it about the
list of supported mime types.
Related: bug 340736
CC:Shawn.Rutledge@qt.io

A  +37   -0    3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch
A  +30   -0    3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch
M  +2    -0    3rdparty/ext_qt/CMakeLists.txt

http://commits.kde.org/krita/7b1b729cf5643574ff049d13c624e8562fcd5770
Comment 6 Halla Rempt 2016-06-24 06:20:28 UTC
Git commit 5f1238207cb73ffcc4082b336a1329c78a7bf47b by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 24/06/2016 at 06:08.
Pushed by rempt into branch 'krita/3.0'.

Add two patches for the Windows version of Qt

This effectively fixes the D&D stalls when Qt tried to
request entire QImage every time Windows asks it about the
list of supported mime types.
Related: bug 340736
CC:Shawn.Rutledge@qt.io

A  +37   -0    3rdparty/ext_qt/0001-Don-t-request-the-MIME-image-every-time-Windows-asks.patch
A  +30   -0    3rdparty/ext_qt/0002-Hack-always-return-we-support-DIBV5.patch
M  +2    -0    3rdparty/ext_qt/CMakeLists.txt

http://commits.kde.org/krita/5f1238207cb73ffcc4082b336a1329c78a7bf47b