[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2020-01-28 Thread Dmitry Kazakov
https://bugs.kde.org/show_bug.cgi?id=411738

Dmitry Kazakov  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Dmitry Kazakov  ---
Should be fixed after this merge:
https://invent.kde.org/kde/krita/merge_requests/194

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2020-01-28 Thread Dmitry Kazakov
https://bugs.kde.org/show_bug.cgi?id=411738

--- Comment #6 from Dmitry Kazakov  ---
Git commit 2617900662ff7046d79249077053edc7d6942621 by Dmitry Kazakov.
Committed on 24/01/2020 at 14:01.
Pushed by dkazakov into branch 'master'.

Fix thread-safety for rendering of the shapes

Vector shapes are not thread-safe against concurrent read-writes, so we
need to utilize rather complicated policy on accessing them:

1) All shape writes happen in GUI thread (right in the tools)
2) No concurrent reads from the shapes may happen  in other threads
   while the user is modifying them.

That is why our shape rendering code is split into two parts:

1) First we just fetch a shallow copy of the shapes of the layer (it
   takes about 1ms for complicated vecotor layers) and pack them into
   KoShapeManager::PaintJobsList jobs. It happens here, in
   slotStartAsyncRepaint(), which runs in the GUI thread. It guarantees
   that noone is accessing the shapes during the copy operation.

2) The rendering itself happens in the worker thread in repaint(). But
   repaint() doesn't access original shapes anymore. It accesses only they
   shallow copies, which means that there is no concurrent
   access to anything (*).

(*) "no concurrent access to anything" is a rather fragile term :) There
 will still be concurrent access to it, on detaching... But(!), when
detaching,
 the original data is kept unchanged, so "it should be safe enough"(c).
Especially
 if we guarantee that rendering thread may not cause a detach (?), and the
detach
 can happen only from a single GUI thread.

M  +19   -0libs/flake/KoShape.cpp
M  +1-1libs/flake/KoShape.h
M  +66   -5libs/flake/KoShapeManager.cpp
M  +53   -0libs/flake/KoShapeManager.h
M  +15   -0libs/image/krita_utils.cpp
M  +1-0libs/image/krita_utils.h
M  +105  -50   libs/ui/flake/kis_shape_layer_canvas.cpp
M  +1-0libs/ui/flake/kis_shape_layer_canvas.h

https://invent.kde.org/kde/krita/commit/2617900662ff7046d79249077053edc7d6942621

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2020-01-16 Thread Boudewijn Rempt
https://bugs.kde.org/show_bug.cgi?id=411738

Boudewijn Rempt  changed:

   What|Removed |Added

 CC||rebe...@rbreu.de

--- Comment #5 from Boudewijn Rempt  ---
*** Bug 416172 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2019-11-20 Thread Dmitry Kazakov
https://bugs.kde.org/show_bug.cgi?id=411738

Dmitry Kazakov  changed:

   What|Removed |Added

   Assignee|krita-bugs-n...@kde.org |dimul...@gmail.com
 CC||dimul...@gmail.com

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2019-11-20 Thread Raghavendra kamath
https://bugs.kde.org/show_bug.cgi?id=411738

--- Comment #4 from Raghavendra kamath  ---
*** Bug 414336 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2019-09-12 Thread Raghavendra kamath
https://bugs.kde.org/show_bug.cgi?id=411738

--- Comment #3 from Raghavendra kamath  ---
As per bug 411853 this happens with reference images too.

-- 
You are receiving this mail because:
You are watching all bug changes.

[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images

2019-09-12 Thread Raghavendra kamath
https://bugs.kde.org/show_bug.cgi?id=411738

Raghavendra kamath  changed:

   What|Removed |Added

Summary|Choppy preview while|Choppy or flickering
   |resizing vector shapes  |preview while resizing
   ||vector shapes and reference
   ||images

-- 
You are receiving this mail because:
You are watching all bug changes.