Category Archives: Coding

Avoiding Jitter in Composited Frame Display

When I last wrote about compositor frame timing, the basic algorithm compositor algorithm was very simple: When we receive damage, schedule a redraw immediately If a redraw is scheduled, and we’re still waiting for the previous swap to complete, redraw when the swap completes This is the algorithm that Mutter has been using for a […]

Application/Compositor Synchronization

This blog entry continues an extended series of posts over the last couple of years. Older entries: Frames not Idles (May 2009) Timing Frame Display (June 2009) What to do if you can’t do 60fps (June 2011) Frame Timing the Simple Way (June 2011) What we figured out in the last post was that if […]

Frame Timing: the Simple Way

This is a follow-up to my post from last week; I wanted to look into why the different methods of frame timing looked different from each other. As a starting point, we can graph the position position of a moving object (like the ball) as displayed to the user versus it’s theoretical position (gray line): […]

What to do if you can’t do 60fps?

I’ve been working recently on figuring out application to compositor synchronization. One aspect of that is the timing information does the compositor need to send back to the application and how should the application use it. In the case where everything is lightly loaded and we can hit 60fps, it’s pretty obvious what we want […]

GNOME Shell GUADEC wrap-up

Unless you’ve been hiding under a rock, if you are a GNOME contributor, you probably know the big news from GUADEC: we decided to push GNOME 3 back another six months. I obviously would prefer if this wasn’t necessary – it feels like we’ve been working on GNOME Shell for a long time now, and […]