From 5a9f0131f8c0b7424a4d323b0f65237206be45ea Mon Sep 17 00:00:00 2001 From: Josh Arenson Date: Mon, 4 Aug 2014 09:42:27 -0700 Subject: [PATCH 6/6] Move syncTimer measurment to the correct place. syncTimer was including the time spent waiting for VSYNC on unchanged frames. This was causing the reported value to be much higher than expected. Task-number: QTBUG-40556 Change-Id: Ife759b4e27faf2124ab330be8d1f42d15c4d2d33 Reviewed-by: Gunnar Sletta --- src/quick/scenegraph/qsgthreadedrenderloop.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index c17eb91..1cfc689 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -586,6 +586,10 @@ void QSGRenderThread::syncAndRender() QSG_RT_DEBUG(" - update pending, doing sync"); sync(); } +#ifndef QSG_NO_RENDER_TIMING + if (profileFrames) + syncTime = threadTimer.nsecsElapsed(); +#endif if (!syncResultedInChanges && !(repaintRequested)) { QSG_RT_DEBUG(" - no changes, rendering aborted"); @@ -595,10 +599,6 @@ void QSGRenderThread::syncAndRender() return; } -#ifndef QSG_NO_RENDER_TIMING - if (profileFrames) - syncTime = threadTimer.nsecsElapsed(); -#endif QSG_RT_DEBUG(" - rendering starting"); QQuickWindowPrivate *d = QQuickWindowPrivate::get(window); -- 2.1.0