unity-panel-service eats cpu when scrubbing through menubar

Bug #785648 reported by Omer Akram
56
This bug affects 11 people
Affects Status Importance Assigned to Milestone
Unity
Expired
Medium
Unassigned
unity (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Unity supports Dell Mini as a minimum requirements hardware. I have very similar netbook.

The problem is that the menubar is slow and cpu hungry. For example if you click on the appmenu of gnome terminal and scrub through menus, the opening and closing of menus feel slow and heavy, if you look at 'top' stats it seems unity-panel-service eats 50%(or even more) cpu during scrubbing between menus. If the menus of an app are shown in the application itself(and not in the unity menubar) the scrubbing is fast and less cpu hungry.

see the video attached.

Revision history for this message
Omer Akram (om26er) wrote :
Robert Roth (evfool)
Changed in unity (Ubuntu):
status: New → Confirmed
Changed in unity:
status: New → Confirmed
Robert Roth (evfool)
Changed in unity (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Confirmed even on an Intel i7-2600.

I'm fairly certain the cause of this bug will be event_filter() in services/panel-service.c. That's the function I optimized to fix bug 687567. Sadly, that fix is still not enough to fix this bug too. Ideally the event_filter() function should be removed completely because it intercepts every mouse motion event. Unfortunately it has to do that right now because it's the only way we've found to implement scrubbing (so far).

Just a theory... but unity-panel-service has constant CPU usage issues even when idle, which I am about to log a bug for.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

See also, related bug 813409.

Changed in unity:
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Changed in unity (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Here's some profiler output that shows the CPU is mostly occupied by g_variant_ functions. Those are used to encode data attached to the dbus messages sent between unity and unity-panel-service.

Changed in unity:
assignee: Daniel van Vugt (vanvugt) → nobody
status: In Progress → Confirmed
Changed in unity (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → nobody
status: In Progress → Confirmed
Revision history for this message
Daniel Carrasco Guariento (sirwhiteout) wrote :

Confirmed on Oneiric 32-bit running on a Lenovo S10. Some event (which I havben't been able to pinpoint yet) makes unity-panel-service use a constant >60% CPU.

Is there anything I can help with? Perhaps a log file or any other information?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think this bug is simple enough to reproduce that no more logs or other info is required thanks.

Omer Akram (om26er)
Changed in unity:
importance: Undecided → Medium
Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

Please execute the following command in a terminal, as it will automatically gather debugging information:
apport-collect 785648

Changed in unity (Ubuntu):
status: Confirmed → Incomplete
Changed in unity:
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Unity because there has been no activity for 60 days.]

Changed in unity:
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for unity (Ubuntu) because there has been no activity for 60 days.]

Changed in unity (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.