This follows suit with aeb036e in qtbase. Change-Id: Ie8580d0a1f38ab9858b0e44c9f99bdc552a1752a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <qthjk@ovi.com>
44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
The QML painting rate is calculated by the FrequencyMonitor class, which
|
|
turns a stream of events (received via the notify() slot), into an
|
|
instantaneous and an averaged frequency:
|
|
|
|
\quotefromfile video/snippets/frequencymonitor/frequencymonitor.h
|
|
\skipto class FrequencyMonitor : public QObject
|
|
\printuntil Q_OBJECT
|
|
\skipto Q_PROPERTY(qreal instantaneousFrequency
|
|
\printuntil averageFrequencyChanged)
|
|
\skipto public
|
|
\printuntil :
|
|
\dots
|
|
\skipto static void qmlRegisterType
|
|
\printuntil ;
|
|
\skipto public slots
|
|
\printuntil notify();
|
|
\skipto };
|
|
\printline };
|
|
|
|
The FrequencyMonitor class is exposed to QML like this
|
|
|
|
\quotefromfile video/snippets/frequencymonitor/frequencymonitordeclarative.cpp
|
|
\skipto FrequencyMonitor::qmlRegisterType
|
|
\printuntil }
|
|
|
|
and its data is displayed by defining a QML item called FrequencyItem, like this:
|
|
|
|
\quotefromfile video/snippets/frequencymonitor/qml/frequencymonitor/FrequencyItem.qml
|
|
\skipto import FrequencyMonitor
|
|
\printuntil id: root
|
|
\dots
|
|
\skipto function notify
|
|
\printuntil id: monitor
|
|
\skipto onAverageFrequencyChanged
|
|
\printuntil {
|
|
\skipto averageFrequencyText
|
|
\printuntil /^\}/
|
|
|
|
The result looks like this:
|
|
|
|
\image video-qml-paint-rate.png
|
|
|
|
|