[Differential] [Request, 621 lines] D4414: don't regenerate frames when setting every property
    Marco Martin 
    noreply at phabricator.kde.org
       
    Thu Feb  2 17:55:50 UTC 2017
    
    
  
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170202/029095d5/attachment.html>
    
    
More information about the Plasma-devel
mailing list