Skip to content
  • Benjamin Otte's avatar
    frameclock: Make timings history dynamic · 8df6e2cd
    Benjamin Otte authored
    Keep at least 1 second of frame timings.
    
    This is necessary for 2 reasons - a real one and a fun one.
    
    First, with the difference in monitor refresh rates, we can have 48Hz
    latops as well as 240Hz high refresh rate monitors. That's a factor of
    4, and tracking frame rates in both situations reliably is kind of hard
    - either we track over too many frames and the fps take a lot of time to
    adjust, or we track too little time and the fps fluctuate wildly.
    
    Second, when benchmarking with GDK_DEBUG=no-vsync with a somewhat fast
    renderer (*cough*Vulkan*cough*) frame rates can go into insane dimensions
    and only very few frames are actually getting presentation times
    reported. So to report accurate frame rates in those cases, we need a
    *very* large history that can be 1000s of times larger than the usual
    history. And that's just a waste for normal usage.
    8df6e2cd