Bug 392969

Summary: timeline autocaching interrupts canvas update
Product: [Applications] krita Reporter: Bollebib <kwadraatnope>
Component: AnimationAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: antti.savo
Priority: NOR    
Version: 4.0   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Bollebib 2018-04-10 14:47:52 UTC
14:22:30 - Bollebib_Laptop: raghukamath: no dont have that
14:23:00 - Bollebib_Laptop: finally might have found the possible reason for "bug" that annoys me to no end!
14:23:35 - Bollebib_Laptop: when isolate layer is on,i often flip between 2 layers,and then it stutters for 5 seconds
14:23:48 - Bollebib_Laptop: sometimes longer
14:23:50 - Bollebib_Laptop: and the canvas doesnt update
14:24:10 - Bollebib_Laptop: it seems that this happense because krita is autocaching the whole animation
14:24:22 - Bollebib_Laptop: in stead of interrupting it like it should
14:26:22 - Bollebib_Laptop: i"ll report that this afternoon



i often work with isolate layer mode on.
Sometimes when i flip between 2 different layers, the canvas doesnt update properly


apparantly this always happens when i see krita autocaching the whole timeline.

untill the cache is done (the grey bars reach the end of the timeline) the canvas doesnt uupdate when flipping between layers


this should not happen,canvas should always take precedence over caching.

i can even make a video if needed bu i think its easy to understand now i know why this happens.
Comment 1 Antti Savolainen 2018-04-10 15:02:20 UTC
Please do make a video. They're extremely convenient.
Comment 2 Bollebib 2018-04-10 15:15:35 UTC
https://youtu.be/6UKdsjaODAg


especially around 0:27 you see it very well,that the layer i'm on isnt shown on the canvas.
Comment 3 Dmitry Kazakov 2018-05-06 17:23:22 UTC
Git commit 4cbc15c8869af84f22a68e2d52bcd99495e8504b by Dmitry Kazakov.
Committed on 06/05/2018 at 17:23.
Pushed by dkazakov into branch 'master'.

Move Isolate Mode activation and deactivation into a stroke

If we just manually check tryBarrierLock() and skip activation,
then "continued isolated mode" will work incorrectly. Indeed,
GUI requested to switch the root, but image refuses to do that
because it is busy.

Now we just post all the requests to the strokes queue and change
isolated root unconditionally.

M  +3    -0    libs/image/kis_idle_watcher.cpp
M  +57   -21   libs/image/kis_image.cc

https://commits.kde.org/krita/4cbc15c8869af84f22a68e2d52bcd99495e8504b
Comment 4 Dmitry Kazakov 2018-05-07 07:55:46 UTC
Git commit 23aa2836b6d22854d9a7383fe452f9bce1c68687 by Dmitry Kazakov.
Committed on 07/05/2018 at 07:54.
Pushed by dkazakov into branch 'krita/4.0'.

Move Isolate Mode activation and deactivation into a stroke

If we just manually check tryBarrierLock() and skip activation,
then "continued isolated mode" will work incorrectly. Indeed,
GUI requested to switch the root, but image refuses to do that
because it is busy.

Now we just post all the requests to the strokes queue and change
isolated root unconditionally.

M  +3    -0    libs/image/kis_idle_watcher.cpp
M  +57   -21   libs/image/kis_image.cc

https://commits.kde.org/krita/23aa2836b6d22854d9a7383fe452f9bce1c68687