After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687660 - Animate the lock screen notification transitions
Animate the lock screen notification transitions
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: lock-screen
3.7.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
3.10
Depends on: 689858
Blocks:
 
 
Reported: 2012-11-05 15:51 UTC by Allan Day
Modified: 2013-08-07 08:41 UTC
See Also:
GNOME target: ---
GNOME version: 3.7/3.8


Attachments
ScreenShield: animate new notifications (4.98 KB, patch)
2012-12-11 17:11 UTC, Giovanni Campagna
none Details | Review
ScreenShield: animate new notifications (3.48 KB, patch)
2013-02-16 17:17 UTC, Giovanni Campagna
accepted-commit_now Details | Review
ScreenShield: animate new notifications (3.61 KB, patch)
2013-07-04 15:21 UTC, Giovanni Campagna
committed Details | Review

Description Allan Day 2012-11-05 15:51:12 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.
Comment 1 Giovanni Campagna 2012-12-03 18:42:32 UTC
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.
Comment 2 Florian Müllner 2012-12-03 18:47:29 UTC
(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 ...
Comment 3 Lionel Landwerlin 2012-12-04 18:40:39 UTC
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.
Comment 4 Lionel Landwerlin 2012-12-07 18:02:15 UTC
Optimized the box-shadow rendering here : https://bugzilla.gnome.org/show_bug.cgi?id=689858
Comment 5 Giovanni Campagna 2012-12-11 17:11:00 UTC
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.
Comment 6 Giovanni Campagna 2012-12-11 17:11:55 UTC
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...)
Comment 7 Giovanni Campagna 2013-02-16 17:17:47 UTC
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.
Comment 8 Allan Day 2013-06-14 23:57:18 UTC
Design guidance can be found here:

https://live.gnome.org/GnomeOS/Design/Whiteboards/ScreenLock/310Redesign

And here:

http://www.youtube.com/watch?v=P4rBrTv33Uc
Comment 9 Jasper St. Pierre (not reading bugmail) 2013-06-21 21:44:15 UTC
Review of attachment 236379 [details] [review]:

OK.
Comment 10 Allan Day 2013-06-25 10:46:12 UTC
I just tried this and couldn't see a difference. Am I missing something?
Comment 11 Giovanni Campagna 2013-07-04 15:21:50 UTC
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.
Comment 12 Allan Day 2013-07-15 09:49:40 UTC
Turns out that the latest designs don't use shadows. \o/

https://wiki.gnome.org/GnomeOS/Design/Whiteboards/ScreenLock/310Redesign
Comment 13 Allan Day 2013-07-15 18:17:45 UTC
Shadows have now been removed: https://bugzilla.gnome.org/show_bug.cgi?id=702305#c3

I just tested and the animation seems fast enough.
Comment 14 Giovanni Campagna 2013-08-07 08:41:29 UTC
Attachment 248398 [details] pushed as 24f142d - ScreenShield: animate new notifications
Reviewed by Jasper St. Pierre at Guadec.