Mir

[regression] NBS causes sudden loss of performance after surface resizes

Bug #1579076 reported by Kevin DuBois
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Kevin DuBois
0.23
Fix Released
Critical
Kevin DuBois
mir (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Seems that the dash gets resized() very shortly after its created. This seems to cause a degradation from "triple-buffered" operation to "double-buffered" operation. On some device loads (eg, krillin+dash, where the rendering needs to be triple buffering to stay at vsync rate), this can cause the performance to dip

tagging as critical, as it should block 0.23.

Related branches

Revision history for this message
Kevin DuBois (kdub) wrote :

So, seems what was happening was one of the three buffers was lingering in the mcl::BufferVault without ever being freed again after a resize occurred. Correcting code to reallocate buffers properly.

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

Actually, this would be bug 1557442. We just didn't fix it properly last time...

tags: added: regression
summary: - potential nbs performance dip after resize
+ Potential NBS performance loss after resize
summary: - Potential NBS performance loss after resize
+ NBS causes sudden loss of performance after surface resizes
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: NBS causes sudden loss of performance after surface resizes

Fix is committed to lp:mir/0.23, although it hasn't been reviewed in any branch yet.

Revision history for this message
Kevin DuBois (kdub) wrote :

Just queuing up the release. Its not landed to trunk, but it is part of testing and assembling the mir silo. Moving back to in progress.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I just hit this bug on desktop; resizing flicker to be very large.

summary: - NBS causes sudden loss of performance after surface resizes
+ [regression] NBS causes sudden loss of performance after surface resizes
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.23.0+16.10.20160602.1-0ubuntu1

---------------
mir (0.23.0+16.10.20160602.1-0ubuntu1) yakkety; urgency=medium

  [ Kevin DuBois ]
  * New upstream release 0.23.0 (https://launchpad.net/mir/+milestone/0.23.0)
    - ABI summary:
      . mirclient ABI unchanged at 9
      . mirserver ABI bumped to 40
      . mircommon ABI bumped at 6
      . mirplatform ABI unchanged at 11
      . mirprotobuf ABI unchanged at 3
      . mirplatformgraphics ABI unchanged at 9
      . mirclientplatform ABI unchanged at 5
      . mirinputplatform ABI unchanged at 5
    - Enhancements:
      . Enable internal usage of more flexible graphics buffer submission,
        precursing client API additions.
    - Bug fixes:
      . Potential NBS performance loss after resize (LP: #1579076)
      . Performance loss with NBS and overlays on (LP: #1578159)
      . Mir crashes with useless backtrace when mg::Platform methods throw
        (LP: #1553549)
      . Virtual output is not removed when screencast client disappears
        (LP: #1573572)
      . Can't VT switch from mir_demo_server (any more) (LP: #1576260)
      . mir_demo_server(_minimal): Window movement/resizing stops responding
        when the cursor leaves the surface, and can lead to windows 1px wide
        and unrecoverable. (LP: #1447886)
      . Virtual display output configuration is set to LVDS (LP: #1573782)
      . Mir-on-X11 doesn't pass Alt+primary button drag to Mir (LP: #1575765)
      . Mir-on-X11 breaks mir_proving_server resize logic (LP: #1575192)
      . Resizing can crash mir_demo_server (LP: #1575211)
      . [regression] Cursor stops at phantom edge on M10 and N7 (LP: #1580774)
      . [regression] MIR_CLIENT_PERF_REPORT is showing bogus render times and
        buffer lag (LP: #1581368)
      . Test failures in ClientLogging.reports_performance due to the above
        fix. (LP: #1583970, LP: #1584603, LP: #1584605)
      . Do not throw when creating some objects under HWC 1.5 (LP: #1583086)
      . Correct black frame issue under Xmir (LP: #1584784)

  [ Tarmac, Kevin DuBois <email address hidden>, Daniel van Vugt <email address hidden>, Andreas Pokorny <email address hidden>, Alberto Aguirre ]
  * 0.23.0 Mir release

 -- Kevin DuBois <email address hidden> Thu, 02 Jun 2016 13:18:03 +0000

Changed in mir (Ubuntu):
status: Confirmed → Fix Released
no longer affects: mir/0.24
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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