From 7f9656d9ec987a8b525a265d1d89e03eb496de7c Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Fri, 7 Sep 2012 12:42:39 +0200 Subject: [PATCH] QML_RENDER_TIMING: Add time since last frame to output This is quite useful to see how much time the rest of the app takes. The same information has been available in QtQuick1. Change-Id: I31ae91bfa764a4d8013af80de9459514ed72314f Reviewed-by: Gunnar Sletta Reviewed-by: Sean Harmer --- src/quick/items/qquickthreadedwindowmanager.cpp | 6 +++++- src/quick/items/qquickwindowmanager.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/quick/items/qquickthreadedwindowmanager.cpp b/src/quick/items/qquickthreadedwindowmanager.cpp index 3d480ce..653192b 100644 --- a/src/quick/items/qquickthreadedwindowmanager.cpp +++ b/src/quick/items/qquickthreadedwindowmanager.cpp @@ -476,10 +476,14 @@ void QQuickRenderThreadSingleContextWindowManager::run() #ifdef QQUICK_RENDER_TIMING if (qquick_render_timing()) { + static QTime lastFrameTime = QTime::currentTime(); swapTime = threadTimer.elapsed() - renderTime; qDebug() << "- Breakdown of frame time; sync:" << syncTime << "ms render:" << renderTime << "ms swap:" << swapTime - << "ms total:" << swapTime + renderTime << "ms"; + << "ms total:" << swapTime + renderTime + << "ms time since last frame:" << (lastFrameTime.msecsTo(QTime::currentTime())) + << "ms"; + lastFrameTime = QTime::currentTime(); } #endif diff --git a/src/quick/items/qquickwindowmanager.cpp b/src/quick/items/qquickwindowmanager.cpp index 930e2a9..d864d72 100644 --- a/src/quick/items/qquickwindowmanager.cpp +++ b/src/quick/items/qquickwindowmanager.cpp @@ -261,10 +261,14 @@ void QQuickTrivialWindowManager::renderWindow(QQuickWindow *window) } if (qquick_render_timing()) { + static QTime lastFrameTime = QTime::currentTime(); const int swapTime = renderTimer.elapsed() - renderTime; qDebug() << "- Breakdown of frame time; sync:" << syncTime << "ms render:" << renderTime << "ms swap:" << swapTime - << "ms total:" << swapTime + renderTime << "ms"; + << "ms total:" << swapTime + renderTime + << "ms time since last frame:" << (lastFrameTime.msecsTo(QTime::currentTime())) + << "ms"; + lastFrameTime = QTime::currentTime(); } // Might have been set during syncSceneGraph() -- 2.7.4