Nux

QueueDraw is very expensive

Bug #994884 reported by Michal Hruby
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)
Fix Released
High
Andrea Azzarone
Precise
Fix Released
High
Unassigned
unity (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
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

Revision history for this message
Michal Hruby (mhr3) wrote :
Revision history for this message
Michal Hruby (mhr3) wrote :
Changed in nux:
status: New → Confirmed
assignee: nobody → Gord Allott (gordallott)
Revision history for this message
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)
Changed in nux:
assignee: Gord Allott (gordallott) → Andrea Azzarone (andyrock)
status: Confirmed → In Progress
Andrea Azzarone (azzar1)
affects: nux → nux (Ubuntu)
Changed in nux:
status: New → In Progress
assignee: nobody → Andrea Azzarone (andyrock)
Andrea Azzarone (azzar1)
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
Changed in nux:
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Committed → Fix Released
Revision history for this message
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
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

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

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

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

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

Revision history for this message
Andrea Azzarone (azzar1) wrote :

This bug has nothing to do with tooltips ;)

Revision history for this message
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
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

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.

Revision history for this message
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)
Changed in unity (Ubuntu Precise):
status: New → Fix Released
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.