6#include <QCoreApplication>
7#include <private/qqmldebugconnector_p.h>
8#include <private/qversionedpacket_p.h>
9#include <private/qqmldebugserviceinterfaces_p.h>
18 QQuick3DProfiler::initialize(
this);
32 connect(QQuick3DProfiler::s_instance, &QQuick3DProfiler::dataReady,
39 service->removeGlobalProfiler(
this);
53 switch (
data.messageType) {
54 case QQuick3DProfiler::Event:
56 case QQuick3DProfiler::Quick3DFrame:
57 if (
data.detailType == QQuick3DProfiler::Quick3DEventData) {
58 ds << eventData[
data.subdata1];
60 ds <<
data.subdata1 <<
data.subdata2;
76 while (next < m_data.size()) {
80 return m_data[next].time;
92 m_data.append(new_data);
93 m_eventData = eventData;
qsizetype size() const noexcept
void append(parameter_type t)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
QByteArray squeezedData() const
Returns a copy of the raw packet data, with extra reserved space removed.
void clear()
Clears the packet, discarding any data.
void profilingEnabled(quint64 features)
void profilingEnabledWhileWaiting(quint64 features)
void referenceTimeKnown(const QElapsedTimer &timer)
QQmlProfilerService * service
static const int s_numMessagesPerBatch
void profilingDisabledWhileWaiting()
void receiveData(const QVector< QQuick3DProfilerData > &new_data, const QHash< int, QByteArray > &eventData)
QQuick3DProfilerAdapter(QObject *parent=0)
qint64 sendMessages(qint64 until, QList< QByteArray > &messages) override
~QQuick3DProfilerAdapter()
Combined button and popup list for selecting options.
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
static void QQuick3DProfilerDataToByteArrays(const QQuick3DProfilerData &data, QList< QByteArray > &messages, const QHash< int, QByteArray > &eventData)
#define Q_ASSERT_X(cond, x, msg)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent