[krita] [Bug 411738] Choppy or flickering preview while resizing vector shapes and reference images
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
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
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
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
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
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
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.