[Differential] [Request, 409 lines] D4343: Greatly improve Folder View performance and mem usage.

Eike Hein noreply at phabricator.kde.org
Mon Jan 30 10:00:50 UTC 2017


hein created this revision.
hein added a reviewer: Plasma.
hein added a subscriber: plasma-devel.
Restricted Application added a project: Plasma.

REVISION SUMMARY
  Profiling suggests that Folder View spends most of its time
  in delegate creation, which occurs en masse during various
  operations, e.g. scrolling the view or navigating folder
  hierarchy via popup dialogs or drill-down in list view mode.
  
  This patch makes FolderItemDelegate substantially cheaper
  by bringing down its child object count considerably via
  a number of techniques:
  
  - Moving things that don't need to be in the delegate outside of it (e.g. a Timer that can be shared, a Connections that does work that can be done outside the delegate and a very costly ColorScope that can be moved up in the hierarchy.
  - Lazy-loading the expensive FrameSvgItem only in states which require it to be shown.
  - Managing action button life time procedurally as they are only needed during hover and even then only under a host of other conditions (instead of using Loaders, to save objects).
  
  Previously, scrolling a 7x6 Folder View widget pointed at
  my /usr/bin was nigh-unusable, now it's very nearly all
  smooth. The desktop mode is a little slower (due to
  expensive drop shadows below text labels) but also benefits.
  
  This is a big refactor and needs more testing. In particular,
  the spring-loading behavior needs thorough checking due to
  code refactors.

REPOSITORY
  R119 Plasma Desktop

BRANCH
  hein/fastFolders

REVISION DETAIL
  https://phabricator.kde.org/D4343

AFFECTED FILES
  containments/desktop/package/contents/ui/FolderItemDelegate.qml
  containments/desktop/package/contents/ui/FolderView.qml
  containments/desktop/package/contents/ui/FolderViewLayer.qml

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: hein, #plasma
Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170130/a16384eb/attachment.html>


More information about the Plasma-devel mailing list