f75eb2d984
While profiling plasmashell memory usage with Vishesh we realized that most of the usage came from loading the Background image repeatedly. We traced it back to this change, where we were connecting to wallpaperChanged before initializing it, so it would initialize it again, loading the wallpaper twice. It's not that we were leaking the object, AFAIK, but loading an image using QQuickImage already raises the memory quite a bit. This change alone reduces by 15% the memory usage of my plasmashell (with 2 screens, that makes it a bit worse, because there's 2 DesktopViews then). REVIEW: 119216 |
||
---|---|---|
autotests | ||
docs | ||
examples | ||
src | ||
tests | ||
.reviewboardrc | ||
CMakeLists.txt | ||
COPYING | ||
COPYING.LIB | ||
KF5PlasmaConfig.cmake.in | ||
KF5PlasmaMacros.cmake | ||
metainfo.yaml | ||
README.md |
Plasma Framework
The plasma framework provides the foundations that can be used to build a primary user interface, from graphical to logical components.
Introduction
The plasma framework provides the following:
- A C++ library: libplasma
- Script engines
- QML components
libplasma
This C++ library provides:
- rendering of SVG themes
- loading of files from a certain filesystem structure: packages
- data access through data engines
- loading of the plugin structure of the workspace: containments and applets
See @ref libplasma.
Script engines
Provides support to create applets or containments in various scripting languages.
QML components
org.kde.plasma.core
Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.
org.kde.plasma.components
Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.
org.kde.plasma.extras
Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.
Links
- Wiki: http://community.kde.org/Plasma#Plasma_Workspaces_2
- Mailing list: https://mail.kde.org/mailman/listinfo/plasma-devel
- IRC channel: #plasma on Freenode
- Git repository: https://projects.kde.org/projects/playground/libs/plasma-framework/repository