X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=metrics.c;h=36ef90bf1c86b661204745b83aced491e675ed84;hb=383fc95ff68a2b9a2772e2b12febb1830c32e260;hp=0c61e0ebab1620e715b4dad64c825c86452dade5;hpb=0289d15f5ac659f32b5c201aefdad92a184eed6b;p=fips diff --git a/metrics.c b/metrics.c index 0c61e0e..36ef90b 100644 --- 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; } @@ -409,6 +412,7 @@ accumulate_program_metrics (metrics_t *metrics, metrics_op_t op, { \ fprintf (stderr, "Unexpected end-of-buffer while " \ "parsing results\n"); \ + value = 0.0; \ break; \ } \ (var) = *((typeof(var) *) p); \ @@ -829,7 +833,7 @@ metrics_end_frame_pre_swap (metrics_t *metrics) if (frames == 0) { /* Print header */ - printf ("# frame: Frame_Number Frame_Time_milliseconds Frame_latency_milliseconds CPU_load\n"); + printf ("# frame: Frame_Number Frame_Time_milliseconds Frame_latency_milliseconds CPU_load GPU_load\n"); } else { /* Subtract previous frame's times to get frame times. */ frame_time_ns = swap_end_timestamp - metrics->previous_swap_end_timestamp; @@ -841,11 +845,12 @@ metrics_end_frame_pre_swap (metrics_t *metrics) /* We've waited one frame to ensure we have a timestamp * result. So the time we've actually measured here is * for the previous frame. */ - printf ("frame: %d %g %g %g\n", + printf ("frame: %d %g %g %g %g\n", frames - 1, (double) frame_time_ns / 1e6, (double) latency_ns / 1e6, - cpu_time / (frame_time_ns / 1e9)); + cpu_time / (frame_time_ns / 1e9), + 0.0); } metrics->previous_swap_end_timestamp = swap_end_timestamp;