https://bugs.kde.org/show_bug.cgi?id=435281
Bug ID: 435281
Summary: Making storyboards is enabled by default
Product: krita
Version: nightly build (please specify the git hash!)
Platform: Mint (Ubuntu based)
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Storyboard
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
SUMMARY
I believe rendering storyboards is enabled by default for all documents, which
isn't necessary.
Related: bug 435273 (which is how I discovered it was working even though I
wasn't working on an animation).
STEPS TO REPRODUCE
1. Build Krita with this diff:
---
diff --git
a/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp
b/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp
index a94ae54028..9e854c5d32 100644
---
a/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp
+++
b/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp
@@ -124,6 +124,7 @@ void
KisStoryboardThumbnailRenderScheduler::renderNextFrame()
return;
}
+ ENTER_FUNCTION() << "Cloning the image" <<
ppVar(m_changedFramesQueue.size()) << ppVar(m_affectedFramesQueue.size());
KisImageSP image = m_image->clone(false);
if (!m_changedFramesQueue.isEmpty()) {
int frame = m_changedFramesQueue.at(0);
---
over the commit 0f0d0deabb.
2. Open Krita from console.
3. Paint something and wait a moment.
OBSERVED RESULT
There is output:
Entering "KisStoryboardThumbnailRenderScheduler::renderNextFrame()" Cloning the
image m_changedFramesQueue.size() = 0 m_affectedFramesQueue.size() = 0
Entering "KisStoryboardThumbnailRenderScheduler::renderNextFrame()" Cloning the
image m_changedFramesQueue.size() = 0 m_affectedFramesQueue.size() = 0
EXPECTED RESULT
Storyboard should not start doing anything unless explicity asked to (which
also means that it should be "locked" by default, and it doesn't seem to be,
even though no new storyboard items appear; probably because of lack of
animated layers. But even in case of animation layers it should be locked by
default).
Even for animation, most animations are just animations, not storyboards.
And cloning the image all the time for static images is even less necessary.
NOTE:
Fixing this particular part of the code to not clone the image unnecessarily is
easy, however I believe this is just a symptom of the storyboarding system
working without being asked to (reacting to signals and whatnot) which can be
detrimental to the performance, so I think it needs to properly checked.
So to sum up:
- storyboards should be locked by default
- and when locked, nothing should react to signals, nothing should be doing any
work
SOFTWARE/OS VERSIONS
Krita
Version: 5.0.0-prealpha (git 0f0d0deabb)
Languages: pl, pl_PL, pl
Hidpi: true
Qt
Version (compiled): 5.12.8
Version (loaded): 5.12.8
--
You are receiving this mail because:
You are watching all bug changes.