from 26 July 2012 to 1 August 2012 (Europe/Madrid)
Facultade de Informática, A Coruña
Smooth animations for applications
Presented by Owen TAYLOR on 28 Jul 2012 from 10:45 to 11:25
When an application displays an animation, each frame it draws passes through multiple steps - from the application's window buffer, to the compositor's back buffer, to the system frame buffer, and finally to the display device. This convoluted path makes timing the display of frames somewhat tricky. The display of new frames should be timed to maximize smoothness and minimize latency while using system resources in an efficient manner. This talk will start off by describing the situation from a theoretical point of view, explaining concepts like VBlank synchronization, and latency. Simulations and graphical visualizations will be used to explain the pros and cons of various algorithms. We'll then turn to on-going efforts to implement a comprehensive solution within GNOME, looking at the toolkits (GTK+, Clutter), the X protocols, and the compositor (Mutter). Performance measurement tools and results will also be discussed. The conclusion will be a short discussion of implications for application authors - what they need to remember, and what are the best practices.