GNOME Bugzilla – Bug 687660
Animate the lock screen notification transitions
Last modified: 2013-08-07 08:41:45 UTC
The transitions when notifications are added to the lock screen are sudden and abrupt. The elements should smoothly move and resize, rather than jumping from one position to another.
I tried this one, but there is a performance problem. The notification box uses border-radius and box-shadow, which triggers the cairo fallback for the background and FBO + readpixels + CPU blurring for the shadow. Even without any CPU load the animation is really jerky. I think we need some smarter caching in the theme node (at the moment, everything is thrown out every frame because we're changing size), and it is really time to do shadows with GLSL.
(In reply to comment #1) > it is really time to do shadows with GLSL. It currently isn't because at the time it looked worthwhile supporting GPUs without GLSL support (namely those i915 ones). Two years later those cards should be even less common, though it might still be good to leave a fallback in - not having some effects doesn't hurt, but shadows are sometimes used to improve readability ...
Why do we need to use a texture of the size of the actor? Couldn't we just do a texture small enough to match the css borders (width=left + right + 2px, height=top + bottom + 2px)? And just do a 9 slice when doing the painting.
Optimized the box-shadow rendering here : https://bugzilla.gnome.org/show_bug.cgi?id=689858
Created attachment 231289 [details] [review] ScreenShield: animate new notifications Showing the new message at full size marks an abrubt change and looks bad. Instead, gradually animate from 0px to full natural height. Includes hacks to workaround flickering scrollbars while the animation is in progress.
This is a lot better with bug 689858, but that bug is not trivial and may not see the light in its current form (it has regressions written all over it...)
Created attachment 236379 [details] [review] ScreenShield: animate new notifications Showing the new message at full size marks an abrubt change and looks bad. Instead, gradually animate from 0px to full natural height. Includes hacks to workaround flickering scrollbars while the animation is in progress. Rebased for the notification filtering work.
Design guidance can be found here: https://live.gnome.org/GnomeOS/Design/Whiteboards/ScreenLock/310Redesign And here: http://www.youtube.com/watch?v=P4rBrTv33Uc
Review of attachment 236379 [details] [review]: OK.
I just tried this and couldn't see a difference. Am I missing something?
Created attachment 248398 [details] [review] ScreenShield: animate new notifications Showing the new message at full size marks an abrubt change and looks bad. Instead, gradually animate from 0px to full natural height. Includes hacks to workaround flickering scrollbars while the animation is in progress. This one is a better patch. At least it doesn't crash like the previous one :) Still, this is slow as hell, and I have the st-box-shadow optimizations.
Turns out that the latest designs don't use shadows. \o/ https://wiki.gnome.org/GnomeOS/Design/Whiteboards/ScreenLock/310Redesign
Shadows have now been removed: https://bugzilla.gnome.org/show_bug.cgi?id=702305#c3 I just tested and the animation seems fast enough.
Attachment 248398 [details] pushed as 24f142d - ScreenShield: animate new notifications Reviewed by Jasper St. Pierre at Guadec.