Bug 413157 - Warp mode anchor point laggy respond
Summary: Warp mode anchor point laggy respond
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression, release_blocker
Depends on:
Blocks:
 
Reported: 2019-10-18 19:40 UTC by grzegorzpedrycz
Modified: 2019-11-11 12:03 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Warp mode test (2.77 MB, image/gif)
2019-10-18 19:40 UTC, grzegorzpedrycz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description grzegorzpedrycz 2019-10-18 19:40:36 UTC
Created attachment 123326 [details]
Warp mode test

SUMMARY

Anchor points in transform warp mode responding very laggy/slow. It's even more interesting because anchor point works fine when i use mause   than my intuos stylus to move it.
I using 4.3.0 PreAlpha but I see that bug as well in newest krita-nightly-4.2.7-beta.  Main 2.7.1 Release works just fine ( tablet and mouse as well.
I dont see any other problem with tablet in any other situation . 

In the atached gif first two point i move with mouse and third one with tablet stylus 



STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Ahab Greybeard 2019-10-19 12:58:48 UTC
With the 4.2.7.1 appimage, I see reasonably fast response to movement by the mouse and the stylus.
With the 4.3.0-prealpha (git cca4b06) appimage I see 2 seconds response time to a mouse movement and 5 seconds response time to a stylus movement.

Setting to Confirmed.
Comment 2 grzegorzpedrycz 2019-10-19 18:52:12 UTC
Thanks ! Hope it wont be difficult to fix
Comment 3 Halla Rempt 2019-10-21 08:08:13 UTC
I suspect commit

commit 34f3a4a815b3e489eeb4397045738eb2aa74e2d8
Author: Dmitry Kazakov <dimula73@gmail.com>
Date:   Tue Oct 8 21:13:10 2019 +0300
Refactor signal compressor to have better timing properties
* before: emits signals with time range [1.0...2.0] * interval
* after: emits signals with time range [0.5...1.5] * interval
Bascially, now it handles it much better when interval is around
10-20 ms. With the old version it caused KisCanvas2 to drop frames
and look ugly when the user pans the canvas.
CCBUG:409460
# Conflicts:
#       libs/global/tests/CMakeLists.txt

caused this.

Dmitry, can you take a look?
Comment 4 grzegorzpedrycz 2019-11-04 09:45:13 UTC
Any news about fix ?
Comment 5 Halla Rempt 2019-11-04 10:02:52 UTC
It is not useful to ask for updates in bug reports. The bug has been investigated and assigned, and when there's a fix, the bug will be closed. Until that happens there is no news.
Comment 6 Dmitry Kazakov 2019-11-06 15:56:45 UTC
Git commit 33bc57f3855623ab4575bb4f0bb2c7ddc00875d3 by Dmitry Kazakov.
Committed on 06/11/2019 at 15:55.
Pushed by dkazakov into branch 'master'.

Fix slowdown in Warp Transform Tool

Looks like before the signal compressor fix the it worked fast purely
accidentally. Tablet device generated a lot of events, so we shouldn't
request warp transform recalculation for every one of it. Instead, some
event compression should happen.

M  +12   -5    plugins/tools/tool_transform2/kis_warp_transform_strategy.cpp
M  +3    -0    plugins/tools/tool_transform2/kis_warp_transform_strategy.h

https://invent.kde.org/kde/krita/commit/33bc57f3855623ab4575bb4f0bb2c7ddc00875d3
Comment 7 Dmitry Kazakov 2019-11-11 12:03:12 UTC
Git commit 56fee5fb393cec956996dd06ad451680f1406bda by Dmitry Kazakov.
Committed on 11/11/2019 at 12:01.
Pushed by dkazakov into branch 'krita/4.2'.

Fix slowdown in Warp Transform Tool

Looks like before the signal compressor fix the it worked fast purely
accidentally. Tablet device generated a lot of events, so we shouldn't
request warp transform recalculation for every one of it. Instead, some
event compression should happen.

M  +12   -5    plugins/tools/tool_transform2/kis_warp_transform_strategy.cpp
M  +3    -0    plugins/tools/tool_transform2/kis_warp_transform_strategy.h

https://invent.kde.org/kde/krita/commit/56fee5fb393cec956996dd06ad451680f1406bda