6#include <QtQml/qqmlfile.h>
8#include <QtCore/qcoreapplication.h>
9#include <QtCore/qthread.h>
13#if QT_CONFIG(qml_debug)
20#ifdef PROFILE_WITHOUT_CLIENT
21quint64 QQuick3DProfiler::featuresEnabled = 0xffffffff;
23quint64 QQuick3DProfiler::featuresEnabled = 0;
25QHash<QByteArray, int> QQuick3DProfiler::s_eventData = {};
26QHash<int, QByteArray> QQuick3DProfiler::s_eventDataRev = {};
27QMutex QQuick3DProfiler::s_eventDataMutex;
30 : QQuick3DProfilerData(
time, messageType, detailType,
d1,
d2)
32 static int ID_MARKER = 0xed000000;
35 this->ids[
i] =
ids[
i] | ID_MARKER;
38int QQuick3DProfiler::registerObject(
const QObject *
object)
42#ifdef PROFILE_WITHOUT_CLIENT
56 if (!s_eventData.contains(typeAndLocation)) {
57 id = s_eventData.size() + 1;
58 s_eventData.insert(typeAndLocation,
id);
59 s_eventDataRev.insert(
id, typeAndLocation);
60 s_instance->processMessage(QQuick3DProfilerData(s_instance->timestamp(), Quick3DFrame, Quick3DEventData,
id, 0));
62 id = s_eventData.value(typeAndLocation);
68int QQuick3DProfiler::registerString(
const QByteArray &
string)
71#ifdef PROFILE_WITHOUT_CLIENT
79 if (!s_eventData.contains(
string)) {
80 id = s_eventData.size() + 1;
81 s_eventData.insert(
string,
id);
82 s_eventDataRev.insert(
id,
string);
83 s_instance->processMessage(QQuick3DProfilerData(s_instance->timestamp(), Quick3DFrame, Quick3DEventData,
id, 0));
85 id = s_eventData.value(
string);
90void QQuick3DProfiler::initialize(
QObject *parent)
96QQuick3DProfiler::QQuick3DProfiler(
QObject *parent)
102QQuick3DProfiler::~QQuick3DProfiler()
106 s_instance =
nullptr;
109void QQuick3DProfiler::startProfilingImpl(
quint64 features)
112 featuresEnabled = features;
115void QQuick3DProfiler::stopProfilingImpl()
123void QQuick3DProfiler::reportDataImpl()
QQmlRefPointer< QV4::ExecutableCompilationUnit > compilationUnit
static QQmlData * get(QObjectPrivate *priv, bool create)
QString qmlTypeName() const
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Combined button and popup list for selecting options.
int toUtf8(char16_t u, OutputPtr &dst, InputPtr &src, InputPtr end)
constexpr const T & qMin(const T &a, const T &b)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLenum GLsizei const GLuint * ids
unsigned long long quint64
\inmodule QtCore \reentrant