diff options
Diffstat (limited to 'src/plugins/scenegraph/openvg')
-rw-r--r-- | src/plugins/scenegraph/openvg/openvg.pro | 12 | ||||
-rw-r--r-- | src/plugins/scenegraph/openvg/openvg.tracepoints | 0 | ||||
-rw-r--r-- | src/plugins/scenegraph/openvg/qsgopenvgrenderloop.cpp | 12 |
3 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/scenegraph/openvg/openvg.pro b/src/plugins/scenegraph/openvg/openvg.pro index 43c2636343..7f9f4bfec5 100644 --- a/src/plugins/scenegraph/openvg/openvg.pro +++ b/src/plugins/scenegraph/openvg/openvg.pro @@ -6,6 +6,18 @@ PLUGIN_TYPE = scenegraph PLUGIN_CLASS_NAME = QSGOpenVGAdaptation load(qt_plugin) +TRACEPOINT_PROVIDER = $$PWD/openvg.tracepoints +CONFIG += qt_tracepoints +debug_and_release { + CONFIG(debug, debug|release) { + INCLUDEPATH += $$OUT_PWD/../../../quick/.tracegen/debug + } else { + INCLUDEPATH += $$OUT_PWD/../../../quick/.tracegen/release + } +} else { + INCLUDEPATH += $$OUT_PWD/../../../quick/.tracegen/ +} + QMAKE_TARGET_PRODUCT = "Qt Quick OpenVG Renderer (Qt $$QT_VERSION)" QMAKE_TARGET_DESCRIPTION = "Quick OpenVG Renderer for Qt." diff --git a/src/plugins/scenegraph/openvg/openvg.tracepoints b/src/plugins/scenegraph/openvg/openvg.tracepoints new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/plugins/scenegraph/openvg/openvg.tracepoints diff --git a/src/plugins/scenegraph/openvg/qsgopenvgrenderloop.cpp b/src/plugins/scenegraph/openvg/qsgopenvgrenderloop.cpp index 85651ece9d..90ccab2682 100644 --- a/src/plugins/scenegraph/openvg/qsgopenvgrenderloop.cpp +++ b/src/plugins/scenegraph/openvg/qsgopenvgrenderloop.cpp @@ -47,6 +47,8 @@ #include <private/qquickwindow_p.h> #include <private/qquickprofiler_p.h> +#include <qtquick_tracepoints_p.h> + #include "qopenvgcontext_p.h" QT_BEGIN_NAMESPACE @@ -171,6 +173,8 @@ void QSGOpenVGRenderLoop::renderWindow(QQuickWindow *window) if (!cd->isRenderable() || !m_windows.contains(window)) return; + Q_TRACE_SCOPE(QSG_renderWindow); + WindowData &data = const_cast<WindowData &>(m_windows[window]); if (vg == nullptr) { @@ -198,14 +202,17 @@ void QSGOpenVGRenderLoop::renderWindow(QQuickWindow *window) if (profileFrames) renderTimer.start(); Q_QUICK_SG_PROFILE_START(QQuickProfiler::SceneGraphPolishFrame); + Q_TRACE(QSG_polishItems_entry); cd->polishItems(); if (profileFrames) polishTime = renderTimer.nsecsElapsed(); + Q_TRACE(QSG_polishItems_exit); Q_QUICK_SG_PROFILE_SWITCH(QQuickProfiler::SceneGraphPolishFrame, QQuickProfiler::SceneGraphRenderLoopFrame, QQuickProfiler::SceneGraphPolishPolish); + Q_TRACE(QSG_sync_entry); emit window->afterAnimating(); @@ -214,8 +221,10 @@ void QSGOpenVGRenderLoop::renderWindow(QQuickWindow *window) if (profileFrames) syncTime = renderTimer.nsecsElapsed(); + Q_TRACE(QSG_sync_exit); Q_QUICK_SG_PROFILE_RECORD(QQuickProfiler::SceneGraphRenderLoopFrame, QQuickProfiler::SceneGraphRenderLoopSync); + Q_TRACE(QSG_render_entry); // setup coordinate system for window vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE); @@ -227,8 +236,10 @@ void QSGOpenVGRenderLoop::renderWindow(QQuickWindow *window) if (profileFrames) renderTime = renderTimer.nsecsElapsed(); + Q_TRACE(QSG_render_exit); Q_QUICK_SG_PROFILE_RECORD(QQuickProfiler::SceneGraphRenderLoopFrame, QQuickProfiler::SceneGraphRenderLoopRender); + Q_TRACE(QSG_swap_entry); if (data.grabOnly) { grabContent = vg->readFramebuffer(window->size() * window->effectiveDevicePixelRatio()); @@ -243,6 +254,7 @@ void QSGOpenVGRenderLoop::renderWindow(QQuickWindow *window) qint64 swapTime = 0; if (profileFrames) swapTime = renderTimer.nsecsElapsed(); + Q_TRACE(QSG_swap_exit); Q_QUICK_SG_PROFILE_END(QQuickProfiler::SceneGraphRenderLoopFrame, QQuickProfiler::SceneGraphRenderLoopSwap); |