QtDD13 - Phil Brumby - Analysing & Solving Qt UI Performance Problems On Embedded Hardware

1,432 views · Published 14 February 2014 · 50:58 · Indexed 28 September 2026

Channel: Qt Group · 2014 · Science & Technology

Watch on YouTube

Recorded at the Qt Developer Days in Berlin in 2013.
Slides available at https://devdays.kdab.com/?page_id=225

Short Abstract:
When developing UIs for embedded devices, it is not uncommon to hit performance problems on target hardware -- whether the UI start-up takes too long, animation is slow, or the UI isn't responsive enough. The source of many embedded UI performance problems are system level problems coming from outside the UI layer. This presentation will provide practical help to developers on how to solve these common UI problems on target embedded hardware, looking at and demonstrating tools and techniques to analyse the problem (ranging from the humble printf, to more sophisticated trace tools). This guidance will be backed-up by examples of how the author has used these techniques to solve real-world Qt UI problems.

Abstract:
When developing UIs for embedded devices, it is not uncommon to hit performance problems on target hardware -- whether the UI start-up takes too long, animation is slow, or the UI isn't responsive enough. Unfortunately there can be many reasons for these problems and hence trying to find out what is causing the problem can be difficult and very time consuming. In many cases problems only occur on the target or can be intermittent, making it even harder!

QML profiler can help understand what is happening within the QML execution, and although great at debugging QML, this approach can prove unproductive if the root problem resides outside of QML. Equally important, of course, is that this profiler doesn't help with Qt Widget based UIs!

The source of many embedded UI performance problems are system level problems coming from outside the UI layer (for example file system problems, back ground processing, interrupts, stalled data processing, CPU loading, etc). Hence it can be more productive to start at the system level, work out what is taking the time within the system and narrow the problem down. The most appropriate tool for the problem area can then by applied (including QML profiler) to debug the problem code.

Equally, if a problem occurs on an irregular basis or after a long period of time, one of the key challenges is identifying when a problem has occurred within, what can be, a large log file or trace data set. Hence it is important to be able to easily analyse, filter and tag trace data, and then zoom in to where performance problems occur.

This presentation will provide practical help to developers on how to solve these common UI problems on target embedded hardware, looking at and demonstrating tools and techniques to analyse the problem (ranging from the humble printf, to more sophisticated trace tools). This guidance will be backed-up by examples of how the author has used these techniques to solve real-world Qt UI problems

.

By the end of the presentation, the aim is that Qt developers will be aware of tools and techniques which can help them resolve what can first seem like complex UI performance issues, and hence help them build better (and consistently better) UIs on Qt.

Presenter Biography:
Phil Brumby is a Senior Technical Marketing Engineer for Mentor Graphics' Embedded Software Division. Phil has the responsibility for the technical and engineering development for Mentor's embedded graphics and user interface product offerings. Previously Phil has held a number of senior software engineering roles in the user interface and mobile gaming spaces. Phil holds a Masters degree in Applied Computing and a Bachelor of Science with Honours degree in Mathematics & Statistics from the University of Dundee, Scotland.

More from this channel