Serious performance degradation of moving layer within a group beyond boundaries of other layers or canvas edge
GIMP version: 2.10.4
Operating System: Windows 10
Package: Installer from gimp.org
Description of the bug
The performance of moving a layer gets very bad when it is in a layer group and it is moved past the boundaries of other layers in the group or the canvas edge.
Reproduction
Is the bug reproducible? Always
Reproduction steps:
I've attached a file that reproduces this for me...
- Create a 8.5"x11" 300dpi image.
- Create a layer group above the base image layer.
- Create a layer with that group - I made it 2"x4" and filled it black
- Create a second layer within that group, beneath the first. I made it some random size larger than the black layer, and I made it so the black layer is within the bounds of this second layer. I filled it greyish so I could easily tell them apart.
- With the Move Tool selected and the black layer active, drag the black layer around within the greyish layer. The performance is "ok".
- Now drag the black layer outside the greyish layer's bounds so that the layers partially overlap. The performance is now "pretty bad"
- Now drag the black layer outside the canvas. As soon as it reaches the canvas edge, the performance gets "really bad".
Expected result:
I would have expected the performance to remain at least "ok", but really, I expect the layer to track closely with the mouse movements.
Actual result:
The layer is nearly a full second behind the mouse movement.
Additional information
I tried with and without Snap to Guides and Snap to Canvas Edge on, and it made no difference.
Moving the two layers out of the group brings performance up to "better than ok"
While the two layers are in a group together, if you delete the greyish layer, the performance is "better than ok" -- I really wish this was the level of performance even with the layer beneath it.