[Qt-creator] QML Profiler questions

Koehne Kai Kai.Koehne at digia.com
Fri Nov 1 11:25:00 CET 2013


> -----Original Message-----
> From: qt-creator-bounces+kai.koehne=digia.com at qt-project.org [mailto:qt-
> creator-bounces+kai.koehne=digia.com at qt-project.org] On Behalf Of
> VStevenP
> Sent: Thursday, October 31, 2013 5:57 PM
> To: qt-creator at qt-project.org
> Subject: [Qt-creator] QML Profiler questions
> 
> I have 2 QML Profiler questions.  I am profiling a simple Knob widget which is
> made out of an Image and a MouseArea, with some Javscript to control the
> rotation property of the Image.
> 
> When I profile the Knob in QML Profiler, I see that the Knob is efficient, in
> that there are no Paint events.   This must mean that when the Knob is
> created, the Knob png is sent to the GPU, and after that, the rotation is
> simply controlled by a rotation command sent to the GPU for that
> Image.  Hopefully, I understand that correctly.

I guess you're using the open source version of Qt Creator, together with Qt 5. Here the 'Paint' column in Qt Creator only shows the timing/number of animations running, and doesn't give you any information about the scene graph itself. That is only available in the commercial version so far: Here you see also the status of the Pixmap Cache + the timing of the Renderer thread (consisting of Polish, Sync, Update, Binding, Render, Swap states).

If you're happy with console output you can try setting the 'QSG_RENDER_TIMING' environment variable.

> Question 1:  Is the rotation command that is sent to the GPU considered to
> be a 'compositing event', and if so, will QML Profiler show compositing
> activity separately, as in Chrome Dev Tools in Chrome?

I'm not sure what a 'compositing event' exactly is (but then again, I'm not an expert on the scene graph ...). I'd personally expect that any changes to the rotation property result in a changed transformation matrix only.

> I also discovered that in Qt 5.1, if you manipulate opacity on an Item during
> onPressed and onReleased mouse events, Paint events occur for that Item
> even when the Item has visible: false.  I would think that visible property
> would supersede opacity to ensure most efficient draw.

If you saw activity in the 'Painting' column of the QML Profiler, see above: This does only show the number of animations that have been running in Qt 5. (We should probably rename it for Qt 5 traces ... 'Painting' is Qt 4 heritage).
 
> Question 2: Should I report this as a bug?

Might be the easiest to file a bug indeed, including a minimal example + what you observe + what you expect to observe.

> I was going to try and test these on Qt 5.2 Beta, because I know the scene
> graph renderer has been reworked, but I'm not able to run the QML Profiler
> in Qt 5.2 Beta like I can in Qt Creator 2.7.2/Qt 5.1 due to an already-logged
> bug.

I think that bug is fixed by now :) As a workaround, go to the Project Mode, Build Settings, expand qmake step, and check 'Enable QML debugging:'.
 
> - VStevenP
> 
> 
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator



More information about the Qt-creator mailing list