mart created this revision. mart added a reviewer: Plasma. Restricted Application added projects: Plasma, Frameworks. Restricted Application added subscribers: Frameworks, plasma-devel.
REVISION SUMMARY give frameSvg the concept of repaintBlocked(), that enables and disables the regeneration of the frame data when a property is set. the use case is when often, a lot of properties are set one after the other (such as prefix, enabled borders, size) collapse the formely similar, but a bit different logic of frame regeneration is a single function for better maintanability. QML FrameSvgItem sets repaintblocked when it starts and releases it just on oncomponentCompleted TEST PLAN plasmashell still starts, autotests still work, all frames are rendered correctly the destruction of old frames is cutted by 50%. in the qml profiler the creation time of a framesvgitem slightly improved, on this machine from around 26 msecs to around 21, can still be improved, but at least the code is a bit simpler REPOSITORY R242 Plasma Framework (Library) BRANCH mart/FrameSvgTransactions REVISION DETAIL https://phabricator.kde.org/D4414 AFFECTED FILES autotests/data/background.svgz autotests/framesvgtest.cpp autotests/framesvgtest.h src/declarativeimports/core/framesvgitem.cpp src/declarativeimports/core/framesvgitem.h src/plasma/framesvg.cpp src/plasma/framesvg.h src/plasma/private/framesvg_p.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: mart, #plasma Cc: plasma-devel, #frameworks, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas