]> git.cworth.org Git - fips/commitdiff
Fix CPU load reported on initial frame.
authorCarl Worth <cworth@cworth.org>
Tue, 12 Nov 2013 18:20:10 +0000 (10:20 -0800)
committerCarl Worth <cworth@cworth.org>
Tue, 12 Nov 2013 18:20:10 +0000 (10:20 -0800)
We were seeing a result like this:

frame: 0 21.0526 20.9131 -4.54586e+17 0

while the frame obviously didn't take negative time.

The bug was subtracting an unintialized
metrics->previous_cpu_time_ts. In order to have this in place by the
end of the first frame, we need to do an initial query of the CPU time
when first creating our metrics object, (before starting the first
frame).

Thanks to Eric Anholt for identifying this bug.

metrics.c

index 1c8a973aec28e7cc23400270b298f693d1232993..36ef90bf1c86b661204745b83aced491e675ed84 100644 (file)
--- a/metrics.c
+++ b/metrics.c
@@ -144,6 +144,9 @@ metrics_create (metrics_info_t *info)
        /* Get the first frame timestamp started immediately. */
        glQueryCounter (metrics->swap_end_timestamp_id, GL_TIMESTAMP);
 
+       /* As well as the initial CPU time. */
+       clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &metrics->cpu_time_ts);
+
        return metrics;
 }