New scopes performance needs to be improved

Bug #1297197 reported by Omer Akram on 2014-03-25
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
unity-scopes-api
Fix Released
High
Michi Henning
unity8 (Ubuntu)
High
Albert Astals Cid

Bug Description

Now that I updated to latest version of unity8 on my phone. the vertical scrolling is skipping a lot of frames. Same happens when switching between scopes (frames being skipped).

Make sure to have the 'Available' category visible. Now scroll to the bottom and flick towards top.

There are two part in the bug: scrolling is purely unity8, switching between scopes seems to be unity-scopes-shell. More info on http://irclogs.ubuntu.com/2014/04/15/%23ubuntu-ci-eng.html#t15:53

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: unity8 7.84+14.04.20140324.4-0ubuntu1
Uname: Linux 3.4.0-5-mako armv7l
ApportVersion: 2.13.3-0ubuntu1
Architecture: armhf
Date: Tue Mar 25 15:22:41 2014
InstallationDate: Installed on 2014-03-25 (0 days ago)
InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf (20140325)
ProcEnviron:
 TERM=linux
 PATH=(custom, no user)
SourcePackage: unity8
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Omer Akram (om26er) wrote :
Michał Sawicz (saviq) wrote :

Indeed, the new scopes are much more flexible, hence much more complex. We need to play some tricks to improve their performance.

Changed in unity8 (Ubuntu):
status: New → Confirmed
Changed in unity8:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Albert Astals Cid (aacid)
Michał Sawicz (saviq) on 2014-03-25
summary: - Vertical scrolling Apps scope is more jittery with new scopes
+ New scopes performance needs to be improved
Changed in unity8 (Ubuntu):
importance: Undecided → High
status: Confirmed → Triaged
Didier Roche (didrocks) on 2014-04-15
Changed in unity-scopes-shell:
importance: Undecided → High
status: New → Triaged
assignee: nobody → Michal Hruby (mhr3)
Didier Roche (didrocks) on 2014-04-15
description: updated
Didier Roche (didrocks) wrote :

Attaching switch scope (this time small glitch, can be longer) jankiness.

Didier Roche (didrocks) wrote :

Greeter unlock jankiness

Michał Sawicz (saviq) wrote :

I can explain the first one - it's the scopes scope loading its results for the first time.

The second one I've never seen :|. Will investigate.

Michal Hruby (mhr3) wrote :

The first issue "switch_scopes_small_jank.mp4", is expected - after boot, scopes contents are no longer preloaded, so the first time you reveal a scope, a query is sent to it (which might block for a few frames, fix being worked on), and when results are returned, all the QML objects are created (which will get faster with the linked card_optimizations branch).

The source of the lag when swiping away the greeter as seen in "unlock_screen.mp4", is not known, and not everyone is able to reproduce, it also seems to disappear for some people after phone reboot. More investigation is needed there.

And what about vertical scrolling in the dash ?

On Wed, Apr 16, 2014 at 6:15 PM, Michal Hruby <email address hidden>wrote:

> The first issue "switch_scopes_small_jank.mp4", is expected - after
> boot, scopes contents are no longer preloaded, so the first time you
> reveal a scope, a query is sent to it (which might block for a few
> frames, fix being worked on), and when results are returned, all the QML
> objects are created (which will get faster with the linked
> card_optimizations branch).
>
> The source of the lag when swiping away the greeter as seen in
> "unlock_screen.mp4", is not known, and not everyone is able to
> reproduce, it also seems to disappear for some people after phone
> reboot. More investigation is needed there.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1297197
>
> Title:
> New scopes performance needs to be improved
>
> Status in QML plugin for Scopes:
> Triaged
> Status in The Unity 8 shell:
> Triaged
> Status in “unity8” package in Ubuntu:
> Triaged
>
> Bug description:
> Now that I updated to latest version of unity8 on my phone. the
> vertical scrolling is skipping a lot of frames. Same happens when
> switching between scopes (frames being skipped).
>
> Make sure to have the 'Available' category visible. Now scroll to the
> bottom and flick towards top.
>
>
> There are two part in the bug: scrolling is purely unity8, switching
> between scopes seems to be unity-scopes-shell. More info on
> http://irclogs.ubuntu.com/2014/04/15/%23ubuntu-ci-eng.html#t15:53
>
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: unity8 7.84+14.04.20140324.4-0ubuntu1
> Uname: Linux 3.4.0-5-mako armv7l
> ApportVersion: 2.13.3-0ubuntu1
> Architecture: armhf
> Date: Tue Mar 25 15:22:41 2014
> InstallationDate: Installed on 2014-03-25 (0 days ago)
> InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf
> (20140325)
> ProcEnviron:
> TERM=linux
> PATH=(custom, no user)
> SourcePackage: unity8
> UpgradeStatus: No upgrade log present (probably fresh install)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/unity-scopes-shell/+bug/1297197/+subscriptions
>

Michał Sawicz (saviq) wrote :

On 16.04.2014 15:23, Omer Akram wrote:
> And what about vertical scrolling in the dash ?

That's the original reason for the linked card optimizations branch.
It's not all that can be done, but it's a step in the right direction.
We'll be working to improve this over the coming weeks.

Michal Hruby (mhr3) wrote :

Oh, and part of the "unlock_screen.mp4" is the current blocker "Qt event loop stopping when the device is suspend", after the screen unlock unity needs to process 55minutes worth of events (as seen from the time in the video).

Launchpad Janitor (janitor) wrote :
Download full text (3.5 KiB)

This bug was fixed in the package unity8 - 7.85+14.04.20140416-0ubuntu1

---------------
unity8 (7.85+14.04.20140416-0ubuntu1) trusty; urgency=low

  [ Albert Astals ]
  * Fix last item X position Fixes clicking on the last item sometimes
    not working (LP: #1301871)
  * Use upstart in ./run Makes it so that you can use the lock button on
    the device without getting that nasty hwc crash
  * Remove AnimationControllerWithSignals.
  * Use the correct delegate base item for the Carousel test
  * Some simplification in DashContent Kill the ScopeDelegateMapper in
    favour of a simple if (that will eventually go away). Removal of all
    the fake scopes in the tests that added nothing of value to the
    tests. Removal of movementEnded signal that was unused. Removal of
    movementStarted and positionedAtBeginning signals that were being
    used as function calls. Rework DashContent tests so they what the
    function does what it is supposed to do instead of just making sure
    QML signals work .
  * Improve Card creation time by adding loaders that make sure only
    what's needed is loaded In my computer it goes from RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleMascotSummaryMode
    l": 3.217 msecs per iteration (total: 3,218, iterations: 1000)
    RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleMascotModel":
    1.647 msecs per iteration (total: 1,648, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleModel": 1.514
    msecs per iteration (total: 1,515, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtModel": 1.471 msecs per
    iteration (total: 1,471, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardArtModel": 1.447 msecs per
    iteration (total: 1,448, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleModel": 1.276 msecs per
    iteration (total: 1,276, iterations: 1000) to RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleMascotSummaryMode
    l": 2.916 msecs per iteration (total: 2,917, iterations: 1000)
    RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleMascotModel":
    1.504 msecs per iteration (total: 1,504, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtSubtitleModel": 1.060
    msecs per iteration (total: 1,061, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleArtModel": 1.052 msecs per
    iteration (total: 1,053, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardArtModel": 0.727 msecs per
    iteration (total: 728, iterations: 1000) RESULT :
    qmltestrunner::benchmark_time:"cardTitleModel": 0.817 msecs per
    iteration (total: 818, iterations: 1000) (LP: #1297197)

  [ Allan LeSage ]
  * DashApps emulator get_applications should return a list ordered by
    visible y, x.

  [ Andrea Cimitan ]
  * Workaround for lp1301309 until fixes for palette in ui toolkit (LP:
    #1301309)

  [ Leo Arias ]
  * Reverted the change that returns application cards instead of
    titles.

  [ Nick Dedekind ]
  * Indicator services started by unity8 upstart configuration rather
    than manual emmision from indicat...

Read more...

Changed in unity8 (Ubuntu):
status: Triaged → Fix Released
Michał Sawicz (saviq) wrote :

This is a partial fix, there's more work to be done here.

Michal Hruby (mhr3) on 2014-04-29
affects: unity-scopes-shell → unity-scopes-api
Changed in unity-scopes-api:
assignee: Michal Hruby (mhr3) → Michi Henning (michihenning)
status: Triaged → In Progress
status: In Progress → Fix Committed
Michal Hruby (mhr3) on 2014-04-29
Changed in unity-scopes-api:
status: Fix Committed → Fix Released
Michał Sawicz (saviq) on 2014-05-06
Changed in unity8:
status: Triaged → In Progress
Changed in unity8:
status: In Progress → Fix Released
Michał Sawicz (saviq) on 2017-03-13
Changed in unity8 (Ubuntu):
assignee: nobody → Albert Astals Cid (aacid)
no longer affects: unity8
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers