QueueDraw is very expensive

Bug #994884 reported by Michal Hruby on 2012-05-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Nux
Fix Released
Undecided
Andrea Azzarone
2.0
Fix Committed
Undecided
Unassigned
Unity
Fix Released
Undecided
Unassigned
nux (Ubuntu)
High
Andrea Azzarone
Precise
High
Unassigned
unity (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned

Bug Description

[Test Case]
Performance fix - only way of testing is performing the benchmarking steps again to check if there is improvement.

[Regression Potential]
No obvious regression potential.

Original description:

I've been running a callgrind session trying to figure out how we could speed up opening the dash and it turned out that especially the first time the dash is opened, we spend more than 25% of time in QueueDraw - see the attached callgrind profile (best viewed with kcachegrind).

Attaching also a simple unity patch that was used to collect the data + the command line was `valgrind --tool=callgrind --instr-atstart=no --collect-atstart=no compiz --replace ccp`.

Related branches

Michal Hruby (mhr3) wrote :
Michal Hruby (mhr3) wrote :
Changed in nux:
status: New → Confirmed
assignee: nobody → Gord Allott (gordallott)
Daniel van Vugt (vanvugt) wrote :

I think the dash opening slowly on some machines might be because Unity allocates far too much memory in doing so, which can take quite some time. See bug 982434.

Andrea Azzarone (azzar1) on 2012-06-11
Changed in nux:
assignee: Gord Allott (gordallott) → Andrea Azzarone (andyrock)
status: Confirmed → In Progress
Andrea Azzarone (azzar1) on 2012-06-12
affects: nux → nux (Ubuntu)
Changed in nux:
status: New → In Progress
assignee: nobody → Andrea Azzarone (andyrock)
Andrea Azzarone (azzar1) on 2012-06-14
Changed in nux:
status: In Progress → Fix Committed
Changed in nux (Ubuntu):
status: In Progress → Fix Committed
Changed in unity:
status: New → Invalid
Changed in unity:
milestone: none → 6.0
status: Invalid → Fix Committed
Didier Roche (didrocks) on 2012-07-10
Changed in nux:
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nux - 3.0.0-0ubuntu1

---------------
nux (3.0.0-0ubuntu1) quantal-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * New upstream release.
    - Conditional jump or move depends on uninitialised value(s)
      nux::GraphicsDisplay::ProcessXEvent(_XEvent, bool) (LP: #983321)
    - Coverity PW.PARAMETER_HIDDEN - CID 10653 (LP: #937588)
    - Coverity SECURE_CODING - CID 10659 (LP: #937564)
    - Coverity PW.PARAMETER_HIDDEN - CID 10651 (LP: #937576)
    - Coverity PW.PARAMETER_HIDDEN - CID 10652 (LP: #937586)
    - QueueDraw is very expensive (LP: #994884)
    - Unity is slow and pausing occasionally (when its DrawList size spikes,
      to almost 6000!) (LP: #1014610)
    - IBus hotkey using Release modifier doesn't work in unity (LP: #1016665)
    - Nothing should be written into the dash/hud searchbar when holding super,
      ctrl or Alt (LP: #1013751)
    - IBus can't be activated on dash or HUD since r2428 (LP: #1016354)
  * debian/control, debian/libnux-3.0-0.install,
    debian/libnux-3.0-common.install, debian/libnux-3.0-dev.install:
    - switch to nux-3.0
 -- Didier Roche <email address hidden> Tue, 10 Jul 2012 08:53:00 +0200

Changed in nux (Ubuntu):
status: Fix Committed → Fix Released
Changed in nux (Ubuntu Precise):
status: New → In Progress
Changed in nux (Ubuntu):
importance: Undecided → High
Changed in nux (Ubuntu Precise):
importance: Undecided → High
description: updated
description: updated

Hello Michal, or anyone else affected,

Accepted nux into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/nux/2.14.0-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nux (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Achim (ach1m) wrote :

Installed the ppa and noticed that the tooltips from the launcher doesn't get drawn correktly.
See attached picture.

nux-tools:
  Installiert: 2.14.0-0ubuntu1
  Kandidat: 2.14.0-0ubuntu1
  Versionstabelle:
 *** 2.14.0-0ubuntu1 0
        100 /var/lib/dpkg/status
     2.12.0-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
     2.10.0-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Daniel van Vugt (vanvugt) wrote :

Achim, rendering issues caused by nux 2.14.0-0ubuntu1 might (probably) be fixed by Unity rendering fixes coming in Unity 5.16. Unfortunately, only 5.14 is available for you to test right now :(

Łukasz Zemczak (sil2100) wrote :

I could not observe any of such rendering issues on my machine (nvidia). Is it something very serious and easily reproducible on other systems?

Sebastien Bacher (seb128) wrote :

Do you still get that issue? Do they go away if you downgrade nux? Do you have an xorg ppa? There was some mention of issues on IRC a week ago or so but it turned out the issue was there with the old version of nux as well and a problem in the x11 stack, could be the same in this case

I didn't notice any regression there

Andrea Azzarone (azzar1) wrote :

This bug has nothing to do with tooltips ;)

Michal Hruby (mhr3) wrote :

We did the benchmark again back when Andrea implemented the fix, and it was indeed improving the situation a lot.

tags: added: verification-done
removed: verification-needed

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nux - 2.14.0-0ubuntu1

---------------
nux (2.14.0-0ubuntu1) precise-proposed; urgency=low

  * New upstream release.
    - QueueDraw is very expensive (LP: #994884)
    - Unity is slow and pausing occasionally (when its DrawList size spikes,
      to almost 6000!) (LP: #1014610)
    - Conditional jump or move depends on uninitialised value(s)
      nux::GraphicsDisplay::ProcessXEvent(_XEvent, bool)
      (GraphicsDisplayX11.cpp:1702) (LP: #983321)
    - Performance fixes for GdkPixbuf conversions and QueueDraw calls (SRU)
      (LP: #1028020)
 -- Lukasz 'sil2100' Zemczak <email address hidden> Thu, 26 Jul 2012 19:02:11 +0200

Changed in nux (Ubuntu Precise):
status: Fix Committed → Fix Released
Changed in unity (Ubuntu):
status: New → Fix Released
Jaime Pérez (jaime-91) on 2015-10-13
Changed in unity (Ubuntu Precise):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers