| Summary: | Slowdown when nesting more than 5 Group Layers | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | Tyson Tan <tysontanx> |
| Component: | Layer Stack | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | dimula73 |
| Priority: | NOR | ||
| Version First Reported In: | 4.4.5 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/commit/fe2635ee8992b030e465cf33be278d2a0dcebf5a | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Tyson Tan
2021-06-10 04:58:15 UTC
Theoretically, if all nested groups have only one layer without any custom blending, then it shouldn't do any delay. But it each group has more than one layer, then a significant delay is expected. I can reproduce the slowdown in the former case, so it looks like a valid bug. I'll check what happens there. Okay, the slowdown happens due to too much contestion in KisGroupLayer::tryObligeChild() Git commit fe2635ee8992b030e465cf33be278d2a0dcebf5a by Dmitry Kazakov. Committed on 10/06/2021 at 09:12. Pushed by dkazakov into branch 'master'. Reduce contestion over oblidge-child routines in group layers We shouldn't ask for projection() in group layers too often. M +25 -18 libs/image/kis_group_layer.cc M +1 -0 libs/image/kis_group_layer.h M +6 -1 libs/image/kis_layer.cc M +7 -0 libs/image/kis_layer.h https://invent.kde.org/graphics/krita/commit/fe2635ee8992b030e465cf33be278d2a0dcebf5a Thank you, Dmitry! :D |