- clock_gettime(CLOCK_MONOTONIC, &time_end);
- dbg("End time: s: %ld, ns: %ld", time_end.tv_sec, time_end.tv_nsec);
- timespecsub(&time_end, &time_start, &elapsed);
- dbg("Elapsed s: %ld ns: %ld", elapsed.tv_sec, elapsed.tv_nsec);
-
- frames++;
- nsecs += (elapsed.tv_sec * NSEC_PER_SEC + elapsed.tv_nsec);
- if (nsecs >= NSEC_PER_SEC) {
- /*
- * if each frame takes less than a second, then just
- * printing 'frames' is enough, but if we want to
- * cover the case when a frame may take more than
- * a second, some calculations have to be done.
- */
- fps = frames / (nsecs / NSEC_PER_SEC);
- printf("(frames: %d, nsecs: %f) FPS: %.2f\n", frames, nsecs, fps);
- nsecs = 0;
- frames = 0;
- }