From e5ffcd1af2acb864d92560e740a66f4385c052db Mon Sep 17 00:00:00 2001 From: Vojtech Bocek Date: Thu, 6 Feb 2014 21:17:32 +0100 Subject: Add option to print render time of each frame to log file Signed-off-by: Vojtech Bocek Change-Id: Id158a6375fbadf4cdf0a8c7d143759e602419e7f --- gui/gui.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gui') diff --git a/gui/gui.cpp b/gui/gui.cpp index e9efc1db9..adc8a412b 100644 --- a/gui/gui.cpp +++ b/gui/gui.cpp @@ -57,6 +57,9 @@ extern "C" #include "blanktimer.hpp" #endif +// Enable to print render time of each frame to the log file +//#define PRINT_RENDER_TIME 1 + const static int CURTAIN_FADE = 32; using namespace rapidxml; @@ -423,6 +426,11 @@ static int runPages(void) DataManager::SetValue("tw_loaded", 1); +#ifdef PRINT_RENDER_TIME + timespec start, end; + int32_t render_t, flip_t; +#endif + for (;;) { loopTimer(); @@ -432,11 +440,30 @@ static int runPages(void) int ret; ret = PageManager::Update(); + +#ifndef PRINT_RENDER_TIME if (ret > 1) PageManager::Render(); if (ret > 0) flip(); +#else + if (ret > 1) + { + clock_gettime(CLOCK_MONOTONIC, &start); + PageManager::Render(); + clock_gettime(CLOCK_MONOTONIC, &end); + render_t = TWFunc::timespec_diff_ms(start, end); + + flip(); + clock_gettime(CLOCK_MONOTONIC, &start); + flip_t = TWFunc::timespec_diff_ms(end, start); + + LOGINFO("Render(): %u ms, flip(): %u ms, total: %u ms\n", render_t, flip_t, render_t+flip_t); + } + else if(ret == 1) + flip(); +#endif } else { -- cgit v1.2.3