diff options
Diffstat (limited to 'src/core/aspects')
-rw-r--r-- | src/core/aspects/qaspectmanager.cpp | 3 | ||||
-rw-r--r-- | src/core/aspects/qaspectmanager_p.h | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/core/aspects/qaspectmanager.cpp b/src/core/aspects/qaspectmanager.cpp index df90fd57c..f276d633e 100644 --- a/src/core/aspects/qaspectmanager.cpp +++ b/src/core/aspects/qaspectmanager.cpp @@ -110,6 +110,7 @@ QAspectManager::QAspectManager(QAspectEngine *parent) , m_simulationLoopRunning(false) , m_driveMode(QAspectEngine::Automatic) , m_postConstructorInit(nullptr) + , m_jobsInLastFrame(0) { qRegisterMetaType<QSurface *>("QSurface*"); qCDebug(Aspects) << Q_FUNC_INFO; @@ -502,7 +503,7 @@ void QAspectManager::processFrame() QElapsedTimer timer; timer.start(); #endif - m_scheduler->scheduleAndWaitForFrameAspectJobs(t); + m_jobsInLastFrame = m_scheduler->scheduleAndWaitForFrameAspectJobs(t); #if defined(QT3D_CORE_JOB_TIMING) qDebug() << "Jobs took" << timer.nsecsElapsed() / 1.0e6; #endif diff --git a/src/core/aspects/qaspectmanager_p.h b/src/core/aspects/qaspectmanager_p.h index 64c75586a..ed04b314f 100644 --- a/src/core/aspects/qaspectmanager_p.h +++ b/src/core/aspects/qaspectmanager_p.h @@ -112,6 +112,8 @@ public: QNode *lookupNode(QNodeId id) const; QVector<QNode *> lookupNodes(const QVector<QNodeId> &ids) const; + int jobsInLastFrame() const { return m_jobsInLastFrame; } + private: bool event(QEvent *event) override; void requestNextFrame(); @@ -128,7 +130,7 @@ private: QAspectEngine::RunMode m_driveMode; QVector<NodeTreeChange> m_nodeTreeChanges; NodePostConstructorInit* m_postConstructorInit; - + int m_jobsInLastFrame; }; } // namespace Qt3DCore |