Public bug reported:

== Use Case ==

The scene: This problem occurs during boot with a split greeter and a
user session both being launched at roughly the same time.  USC shows
the boot animation until both the greeter and user session are ready to
render, since it doesn't want the greeter to appear without a user
session ready for the user to jump into.

The problem: The greeter has a cute little "fade in" animation it does,
that lasts about a second.  If the greeter wins the startup race, it
will start rendering its animation (in the background, since USC isn't
showing it yet).  Which might complete by the time the user session is
available which makes USC show the greeter to the user finally.  So
sometimes on boot, the user never sees the fade in animation and the
greeter just abruptly appears.

== Attempted Solutions ==

In 0.1.8, neither hide() nor lifecycle events seemed to do the trick.
And with the new non-blocking rendering work, I imagine we're actually
making it harder to do this.

== Desired Solution ==

I'd like to be able to have the USC tell the greeter session to chill
out if it appears first.  No frames get rendered or lost.  It just stops
processing.  I think Qt does the sensible thing if Mir stops giving it
buffers, right?

** Affects: mir (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  == Use Case ==
  
- The scene: Boot up with a split greeter and a user session both being
- launched at roughly the same time.  USC shows the boot animation until
- both the greeter and user session are ready to render, since it doesn't
- want the greeter to appear without a user session ready for the user to
- jump into.
+ The scene: This problem occurs during boot with a split greeter and a
+ user session both being launched at roughly the same time.  USC shows
+ the boot animation until both the greeter and user session are ready to
+ render, since it doesn't want the greeter to appear without a user
+ session ready for the user to jump into.
  
  The problem: The greeter has a cute little "fade in" animation it does,
  that lasts about a second.  If the greeter wins the startup race, it
- will start rendering its animation.  Which might complete by the time
- the user session is available which makes USC show the greeter to the
- user finally.  So sometimes on boot, the user never sees the fade in
- animation and the greeter just abruptly appears.
+ will start rendering its animation (in the background, since USC isn't
+ showing it yet).  Which might complete by the time the user session is
+ available which makes USC show the greeter to the user finally.  So
+ sometimes on boot, the user never sees the fade in animation and the
+ greeter just abruptly appears.
  
  == Attempted Solutions ==
  
  In 0.1.8, neither hide() nor lifecycle events seemed to do the trick.
  And with the new non-blocking rendering work, I imagine we're actually
  making it harder to do this.
  
  == Desired Solution ==
  
  I'd like to be able to have the USC tell the greeter session to chill
  out if it appears first.  No frames get rendered or lost.  It just stops
  processing.  I think Qt does the sensible thing if Mir stops giving it
  buffers, right?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1310637

Title:
  Allow a server to halt rendering in a client session

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to