Merge lp:~mzanetti/unity8/fix-laggy-launcher-dnd into lp:unity8
| Status: | Merged | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Approved by: | Michael Terry on 2015-03-04 | ||||||||
| Approved revision: | 1644 | ||||||||
| Merged at revision: | 1678 | ||||||||
| Proposed branch: | lp:~mzanetti/unity8/fix-laggy-launcher-dnd | ||||||||
| Merge into: | lp:unity8 | ||||||||
| Diff against target: |
97 lines (+23/-4) 5 files modified
plugins/AccountsService/AccountsService.cpp (+1/-1) plugins/AccountsService/AccountsServiceDBusAdaptor.cpp (+11/-2) plugins/AccountsService/AccountsServiceDBusAdaptor.h (+2/-0) plugins/Unity/Launcher/gsettings.cpp (+8/-1) plugins/Unity/Launcher/gsettings.h (+1/-0) |
||||||||
| To merge this branch: | bzr merge lp:~mzanetti/unity8/fix-laggy-launcher-dnd | ||||||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Michael Terry | 2015-03-03 | Approve on 2015-03-04 | |
| PS Jenkins bot | continuous-integration | Needs Fixing on 2015-03-04 | |
|
Review via email:
|
|||
Commit Message
performance improvements
* Prevent processing of built-in AccountsService properties if we know it's not a built-in that changed
* don't reload the launcher settings after we just set them ourselves
Description of the Change
* Are there any related MPs required for this MP to build/function as expected? Please list.
no
* Did you perform an exploratory manual test run of your code change and any related functionality?
yes
* Did you make sure that your branch does not contain spurious tags?
yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
n/a
* If you changed the UI, has there been a design review?
n/a
- 1642. By Michael Zanetti on 2015-03-03
-
fix typo in comment
| Daniel d'Andrada (dandrader) wrote : | # |
Added my two cents inline
- 1643. By Michael Zanetti on 2015-03-04
-
be more clever with caching
| Michael Zanetti (mzanetti) wrote : | # |
inline replies
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1643
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 1644. By Michael Zanetti on 2015-03-04
-
always reset the flag
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1644
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Michael Terry (mterry) wrote : | # |
Looks great! Tested and it's fine.
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass? If not, please explain why.
Eh, for other reasons.
* Did you make sure that the branch does not contain spurious tags?
Yes
| MichaĆ Sawicz (saviq) wrote : | # |
Is there a way to test this? The symptom I was fighting with this morning was starting or closing an unpinned app, this resulted in 1-2s UI lock every time.
| Michael Zanetti (mzanetti) wrote : | # |
> Is there a way to test this? The symptom I was fighting with this morning was
> starting or closing an unpinned app, this resulted in 1-2s UI lock every time.
So the actual issue is that AccountService does only emit a "Changed" signal for all built-in properties, without having a parameter that actually telly you which built-in property it is. That in turn causes all connected things to look up their properties with sync dbus calls.
This branch at least decouples built-in properties from not built-in ones (the launcher stuff isn't built-in) so a change in the launcher doesn't cause things like "backgroundimage" to refresh at least.
I guess it'd be possible to test if a change in a not built-in property does not emit the generic changed property. Whether that's really a useful test or not, I'm not exactly sure about.

FAILED: Continuous integration, rev:1642 jenkins. qa.ubuntu. com/job/ unity8- ci/5381/ jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- vivid-touch/ 1617 jenkins. qa.ubuntu. com/job/ unity-phablet- qmluitests- vivid/545 jenkins. qa.ubuntu. com/job/ unity8- vivid-amd64- ci/546 jenkins. qa.ubuntu. com/job/ unity8- vivid-i386- ci/546 jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- runner- vivid-mako/ 1435 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 1615 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 1615/artifact/ work/output/ *zip*/output. zip s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 18501
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/unity8- ci/5381/ rebuild
http://