So I added some debugging output to dbus. When it peaked, it spent over a third of the CPU entirely in get_recipients_from_list(). (This is dbus checking if an incoming signal matches any of the rules added by org.freedesktop.DBus.AddMatch -- i.e. signal subscriptions. It does this for every rule, for every connection.)
So we can reduce the time spent there by being more efficient, by reducing the number of subscriptions, or reducing the number of signals. Looking at which rules it's checking, the majority are subscriptions on NetworkManager. One per access point, one per device, from multiple connections. Could connectivity-cpp be a bit too subscription-greedy? I'm not sure that get_recipients_from_list is the only (or worst) culprit here. Just something I noticed. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1480877 Title: Access points' "PropertiesChanged" dbus signals freeze UI on mobile devices To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1480877/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs