Skip to content
  • Yariv's avatar
    frame clock: fix scheduling · cf91cf48
    Yariv authored and Alexander Larsson's avatar Alexander Larsson committed
    Fix scheduling of the frame clock when we don't receive "frame drawn"
    messages from the compositor.
    
    If we received "frame drawn" events recently, then the "smooth frame
    time" would be in sync with the vsync time. When we don't receive frame
    drawn events, the "smooth frame time" is simply incremented by constant
    multiples of the refresh interval. In both cases we can use this smooth
    time as the basis for scheduling the next clock cycle.
    
    By only using the "smooth frame time" as a basis we also benefit from
    more consistent scheduling cadence. If, for example, we got "frame
    drawn" events, then didn't receive them for a few frames, we would still
    be in sync when we start receiving these events again.
    cf91cf48