aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Krause <volker.krause@kdab.com>2016-08-24 14:59:52 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2016-08-26 13:49:05 +0000
commitada06fff404f4aea8e830afe3250dd4b49dee1b3 (patch)
tree7ae9b8076530d071a55419400299f1c86f8754aa
parentb1786b20b1229476aa7ad17b756f6f35bf665642 (diff)
Load the system monitor screen on demand
This reduces the total amount of QObjects when starting Neptune by about 3k/25%, and that's even with the not exactly cheap Qt 3D integration enabled. This also considerably reduces idle load as the system monitor triggers a huge amount of binding updates even while not being visible. Change-Id: I2671239ac06f3a6f94a9021ed8fc62b4602c73d7 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
-rw-r--r--sysui/Cloud/Settings/SettingsScreen.qml15
1 files changed, 11 insertions, 4 deletions
diff --git a/sysui/Cloud/Settings/SettingsScreen.qml b/sysui/Cloud/Settings/SettingsScreen.qml
index cf1af84..d2b4936 100644
--- a/sysui/Cloud/Settings/SettingsScreen.qml
+++ b/sysui/Cloud/Settings/SettingsScreen.qml
@@ -68,7 +68,8 @@ UIElement {
SettingsService.unitSystem = "metric"
}
else if (titleText === "SYSTEM MONITOR") {
- ApplicationManagerInterface.applicationSurfaceReady(systemMonitor)
+ systemMonitorLoader.active = true
+ ApplicationManagerInterface.applicationSurfaceReady(systemMonitorLoader.item)
}
}
}
@@ -82,8 +83,14 @@ UIElement {
visible: false
}
- MainScreen {
- id: systemMonitor
- visible: false
+ Loader {
+ id: systemMonitorLoader
+ active: false
+ sourceComponent: Component {
+ MainScreen {
+ id: systemMonitor
+ visible: false
+ }
+ }
}
}