Merge lp://staging/~mzanetti/unity8/fix-laggy-launcher-dnd into lp://staging/unity8

Proposed by Michael Zanetti
Status: Merged
Approved by: Michael Terry
Approved revision: 1644
Merged at revision: 1678
Proposed branch: lp://staging/~mzanetti/unity8/fix-laggy-launcher-dnd
Merge into: lp://staging/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://staging/~mzanetti/unity8/fix-laggy-launcher-dnd
Reviewer Review Type Date Requested Status
Michael Terry Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+251567@code.staging.launchpad.net

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

To post a comment you must log in.
1642. By Michael Zanetti

fix typo in comment

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

Inline comments

review: Needs Fixing
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Added my two cents inline

1643. By Michael Zanetti

be more clever with caching

Revision history for this message
Michael Zanetti (mzanetti) wrote :

inline replies

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1644. By Michael Zanetti

always reset the flag

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
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

review: Approve
Revision history for this message
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.

Revision history for this message
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.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches