don't regenerate frames when setting every property

Authored by mart on Feb 7 2017, 12:05 PM.

Description

don't regenerate frames when setting every property

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

Reviewers: Plasma

Subscribers: davidedmundson, plasma-devel, Frameworks

Tags: Plasma, Frameworks

Differential Revision: https://phabricator.kde.org/D4414

Details

Committed
martFeb 7 2017, 12:08 PM
Differential Revision
D4414: don't regenerate frames when setting every property
Parents
R242:50699af19a90: Add kleopatra icon
Branches
Unknown
Tags
Unknown