← Back to team overview

touch-packages team mailing list archive

[Bug 1264934] Re: Mir's compositor holds buffers (blocking clients) for the duration of the frame, even when not necessary.

 

** Changed in: mir
       Status: Fix Committed => Fix Released

** Also affects: mir (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1264934

Title:
  Mir's compositor holds buffers (blocking clients) for the duration of
  the frame, even when not necessary.

Status in Mir:
  Fix Released
Status in mir package in Ubuntu:
  New

Bug description:
  RenderingOperator::operator() holds buffers (blocking clients) for the
  duration of the frame, even when not necessary.

  From what I can tell, the holding of the buffer as a "resource" till
  after the SwapBuffers is required for some APIs, such as
  glEGLImageTargetTexture2DOES used by Mir "hardware" buffers.

  However, Mir software buffers use a simple glTexImage2D which only
  does a synchronous copy of the data. So it's wasteful holding a
  reference to the buffer for any longer than the duration of the
  glTexImage2D call. This will directly affect the round-trip
  performance of mir_surface_swap_buffers() while bug 1253868 is
  unresolved.

  So in theory, just making our "saved resources" logic a little smarter
  could significantly improve clients ability to meet frame deadlines.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1264934/+subscriptions