gears: fix invalid calculation of the first FPS
authorRyo Munakata <ryomnktml@gmail.com>
Sun, 10 Aug 2014 14:47:45 +0000 (23:47 +0900)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Mon, 18 Aug 2014 12:27:16 +0000 (15:27 +0300)
commita3a5debe31f3799b5c8f7039c0f6bde63db6092e
tree24cd08702e61e237685c295103f87845990b9a87
parentf322f8efea782692c5c45a1d870fb08b68f8fa15
gears: fix invalid calculation of the first FPS

At the calculation of the first FPS, gears has initialized last
FPS time with gettimeofday().
But the callback_data passed in the callback of wl_surface_frame()
is the current time, in milliseconds, with an undefined base.
Because of this subtracting last FPS time from callback_data makes no sense.
 For example, below is the result of running weston-gears on weston with
drm backend:

$ weston-gears
Warning: FPS count is limited by the wayland compositor or monitor refresh rate
1 frames in 1094460.125 seconds =  0.000 FPS
301 frames in  5.016 seconds = 60.008 FPS
301 frames in  5.016 seconds = 60.008 FPS
301 frames in  5.016 seconds = 60.008 FPS

As you can see, the the first FPS value is something odd.

This patch fixes it by initializing last FPS time with the callback_data passed in
the first callback.

Reviewed-by: Nils Chr. Brause <nilschrbrause@gmail.com>
clients/gears.c