Features/Tick based animation

From Sugar Labs
< Features
Revision as of 20:35, 3 July 2015 by SAMdroid (talk | contribs) (Created page with "<noinclude> Category:Feature Page Incomplete . </noinclude> == Summary == Animate each frame as Gtk+ needs a new frame drawn instead of at whatever f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Summary

Animate each frame as Gtk+ needs a new frame drawn instead of at whatever frame rate we want.

Owner

  • Name: Sam P.
  • Email: *@sam.today

Current status

  • Targeted release: 0.108
  • Last updated: 4 July 2015
  • Percentage of completion: 50%

Detailed Description

Gtk+ 3.8 introduces the idea of a 'tick'. This can have a callback attached to it. This is used to do animations in GtkPopover and the other Gtk+ widgets that have animations. Therefore, sugar should not just do out animations at 20fps. If the animation could go at 120fps because the computer is awesome, why not? If the computer is bad and it can only render 5fps, why worry about any more?

This feature can be split up into many parts:

Benefit to Sugar

Smoother animation.

No legit, that is the only benefit.

Scope

Doesn't break anything.

Animation consumers need to add the "widget=x" when creating an animator so they can have the tick callback attached.

UI Design

Some animations (aka. plusing icon) look completely different when they are actually smooth.

How To Test

1. Apply the patches <https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/213> and <https://github.com/sugarlabs/sugar/pull/505> 2. Open the frame and notice the smoothness 3. Press F6 over and over again to enjoy all the frames in the animation 4. Change between home views (F1-F3) to enjoy the smoothness of the animating size of the xo-person

User Experience

Smoother animations.

Dependencies

Needs Gtk 3.8 to look different.

Contingency Plan

None necessary, revert to previous release behaviour

Documentation

add the widget=x

Release Notes

Animations are now smoother than ever on newer hardware. Animations dynamically change FPS to leave no cpu cycle wasted.

Comments and Discussion

All the pull requests