From bb7dd6aba4241a912699d6e332968c7f61017d7e Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Wed, 7 Sep 2011 12:03:20 +0200 Subject: [PATCH] make render timing an environment variable Change-Id: Iadc72a0beb5e6d700b0110d11116a7533c69f311 Reviewed-on: http://codereview.qt.nokia.com/4338 Reviewed-by: Kim M. Kalland --- src/declarative/scenegraph/coreapi/qsgrenderer.cpp | 39 +++++++++++++------- 1 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp index e8e6760..508c8ee 100644 --- a/src/declarative/scenegraph/coreapi/qsgrenderer.cpp +++ b/src/declarative/scenegraph/coreapi/qsgrenderer.cpp @@ -58,12 +58,14 @@ QT_BEGIN_NAMESPACE //#define RENDERER_DEBUG //#define QT_GL_NO_SCISSOR_TEST -// #define QSG_RENDERER_TIMING + + +#define QSG_RENDERER_TIMING #ifdef QSG_RENDERER_TIMING +static bool qsg_render_timing = !qgetenv("QML_RENDERER_TIMING").isEmpty(); static QTime frameTimer; static int preprocessTime; static int updatePassTime; -static int frameNumber = 0; #endif void QSGBindable::clear(QSGRenderer::ClearMode mode) const @@ -220,8 +222,13 @@ void QSGRenderer::renderScene(const QSGBindable &bindable) return; m_is_rendering = true; + + #ifdef QSG_RENDERER_TIMING - frameTimer.start(); + if (qsg_render_timing) + frameTimer.start(); + int bindTime; + int renderTime; #endif m_bindable = &bindable; @@ -229,7 +236,8 @@ void QSGRenderer::renderScene(const QSGBindable &bindable) bindable.bind(); #ifdef QSG_RENDERER_TIMING - int bindTime = frameTimer.elapsed(); + if (qsg_render_timing) + bindTime = frameTimer.elapsed(); #endif #ifndef QT_NO_DEBUG @@ -249,7 +257,8 @@ void QSGRenderer::renderScene(const QSGBindable &bindable) render(); #ifdef QSG_RENDERER_TIMING - int renderTime = frameTimer.elapsed(); + if (qsg_render_timing) + renderTime = frameTimer.elapsed(); #endif glDisable(GL_SCISSOR_TEST); @@ -268,12 +277,14 @@ void QSGRenderer::renderScene(const QSGBindable &bindable) } #ifdef QSG_RENDERER_TIMING - printf(" - Breakdown of frametime: preprocess=%d, updates=%d, binding=%d, render=%d, total=%d\n", - preprocessTime, - updatePassTime - preprocessTime, - bindTime - updatePassTime, - renderTime - bindTime, - renderTime); + if (qsg_render_timing) { + printf(" - Breakdown of frametime: preprocess=%d, updates=%d, binding=%d, render=%d, total=%d\n", + preprocessTime, + updatePassTime - preprocessTime, + bindTime - updatePassTime, + renderTime - bindTime, + renderTime); + } #endif } @@ -353,14 +364,16 @@ void QSGRenderer::preprocess() } #ifdef QSG_RENDERER_TIMING - preprocessTime = frameTimer.elapsed(); + if (qsg_render_timing) + preprocessTime = frameTimer.elapsed(); #endif nodeUpdater()->setToplevelOpacity(context()->renderAlpha()); nodeUpdater()->updateStates(m_root_node); #ifdef QSG_RENDERER_TIMING - updatePassTime = frameTimer.elapsed(); + if (qsg_render_timing) + updatePassTime = frameTimer.elapsed(); #endif } -- 1.7.2.5