Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuick3DRenderStats Class Reference

#include <qquick3drenderstats_p.h>

+ Inheritance diagram for QQuick3DRenderStats:
+ Collaboration diagram for QQuick3DRenderStats:

Signals

void fpsChanged ()
 
void frameTimeChanged ()
 
void renderTimeChanged ()
 
void syncTimeChanged ()
 
void maxFrameTimeChanged ()
 
void extendedDataCollectionEnabledChanged ()
 
void drawCallCountChanged ()
 
void drawVertexCountChanged ()
 
void imageDataSizeChanged ()
 
void meshDataSizeChanged ()
 
void renderPassCountChanged ()
 
void renderPassDetailsChanged ()
 
void textureDetailsChanged ()
 
void meshDetailsChanged ()
 
void pipelineCountChanged ()
 
void materialGenerationTimeChanged ()
 
void effectGenerationTimeChanged ()
 
void pipelineCreationTimeChanged ()
 
void vmemAllocCountChanged ()
 
void vmemUsedBytesChanged ()
 
void graphicsApiNameChanged ()
 
void lastCompletedGpuTimeChanged ()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuick3DRenderStats (QObject *parent=nullptr)
 \qmltype RenderStats \inqmlmodule QtQuick3D
 
int fps () const
 \qmlproperty int QtQuick3D::RenderStats::fps \readonly
 
float frameTime () const
 \qmlproperty float QtQuick3D::RenderStats::frameTime \readonly
 
float renderTime () const
 \qmlproperty float QtQuick3D::RenderStats::renderTime \readonly
 
float renderPrepareTime () const
 \qmlproperty float QtQuick3D::RenderStats::renderPrepareTime \readonly
 
float syncTime () const
 \qmlproperty float QtQuick3D::RenderStats::syncTime \readonly
 
float maxFrameTime () const
 \qmlproperty float QtQuick3D::RenderStats::maxFrameTime \readonly
 
void startSync ()
 
void endSync (bool dump=false)
 
void startRender ()
 
void startRenderPrepare ()
 
void endRenderPrepare ()
 
void endRender (bool dump=false)
 
void setRhiContext (QSSGRhiContext *ctx, QSSGRenderLayer *layer)
 
bool extendedDataCollectionEnabled () const
 \qmlproperty bool QtQuick3D::RenderStats::extendedDataCollectionEnabled
 
void setExtendedDataCollectionEnabled (bool enable)
 
quint64 drawCallCount () const
 \qmlproperty quint64 QtQuick3D::RenderStats::drawCallCount \readonly
 
quint64 drawVertexCount () const
 \qmlproperty quint64 QtQuick3D::RenderStats::drawVertexCount \readonly
 
quint64 imageDataSize () const
 \qmlproperty quint64 QtQuick3D::RenderStats::imageDataSize \readonly
 
quint64 meshDataSize () const
 \qmlproperty quint64 QtQuick3D::RenderStats::meshDataSize \readonly
 
int renderPassCount () const
 \qmlproperty int QtQuick3D::RenderStats::renderPassCount \readonly
 
QString renderPassDetails () const
 \qmlproperty string QtQuick3D::RenderStats::renderPassDetails \readonly
 
QString textureDetails () const
 \qmlproperty string QtQuick3D::RenderStats::textureDetails \readonly
 
QString meshDetails () const
 \qmlproperty string QtQuick3D::RenderStats::meshDetails \readonly
 
int pipelineCount () const
 \qmlproperty int QtQuick3D::RenderStats::pipelineCount \readonly
 
qint64 materialGenerationTime () const
 \qmlproperty qint64 QtQuick3D::RenderStats::materialGenerationTime \readonly
 
qint64 effectGenerationTime () const
 \qmlproperty qint64 QtQuick3D::RenderStats::effectGenerationTime \readonly
 
qint64 pipelineCreationTime () const
 \qmlproperty qint64 QtQuick3D::RenderStats::pipelineCreationTime \readonly
 
quint32 vmemAllocCount () const
 \qmlproperty quint32 QtQuick3D::RenderStats::vmemAllocCount \readonly
 
quint64 vmemUsedBytes () const
 \qmlproperty quint64 QtQuick3D::RenderStats::vmemUsedBytes \readonly
 
QString graphicsApiName () const
 \qmlproperty string QtQuick3D::RenderStats::graphicsAPIName \readonly
 
float lastCompletedGpuTime () const
 \qmlproperty float QtQuick3D::RenderStats::lastCompletedGpuTime \readonly
 
Q_INVOKABLE void releaseCachedResources ()
 
void setWindow (QQuickWindow *window)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Properties

int fps
 
float frameTime
 
float renderTime
 
float renderPrepareTime
 
float syncTime
 
float maxFrameTime
 
bool extendedDataCollectionEnabled
 
quint64 drawCallCount
 
quint64 drawVertexCount
 
quint64 imageDataSize
 
quint64 meshDataSize
 
int renderPassCount
 
QString renderPassDetails
 
QString textureDetails
 
QString meshDetails
 
int pipelineCount
 
qint64 materialGenerationTime
 
qint64 effectGenerationTime
 
qint64 pipelineCreationTime
 
quint32 vmemAllocCount
 
quint64 vmemUsedBytes
 
QString graphicsApiName
 
float lastCompletedGpuTime
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 28 of file qquick3drenderstats_p.h.

Constructor & Destructor Documentation

◆ QQuick3DRenderStats()

QT_BEGIN_NAMESPACE QQuick3DRenderStats::QQuick3DRenderStats ( QObject * parent = nullptr)

\qmltype RenderStats \inqmlmodule QtQuick3D

Provides information of the scene rendering.

The RenderStats type provides information about scene rendering statistics. This cannot be created directly, but can be retrieved from a \l View3D.

Use the \l DebugView item to display the data on-screen.

Definition at line 22 of file qquick3drenderstats.cpp.

References QElapsedTimer::start().

+ Here is the call graph for this function:

Member Function Documentation

◆ drawCallCount()

quint64 QQuick3DRenderStats::drawCallCount ( ) const

\qmlproperty quint64 QtQuick3D::RenderStats::drawCallCount \readonly

This property holds the total number of draw calls (including non-indexed, indexed, instanced, and instanced indexed draw calls) that were registered during the last render of the \l View3D.

The value is updated only when extendedDataCollectionEnabled is enabled.

Since
6.5

Definition at line 629 of file qquick3drenderstats.cpp.

◆ drawCallCountChanged

void QQuick3DRenderStats::drawCallCountChanged ( )
signal

◆ drawVertexCount()

quint64 QQuick3DRenderStats::drawVertexCount ( ) const

\qmlproperty quint64 QtQuick3D::RenderStats::drawVertexCount \readonly

This property holds the total number of vertices in draw calls that were registered during the last render of the \l View3D.

The value includes the number of vertex and index count from draw calls that were registered during the last render of the \l View3D. While the number is not guaranteed to be totally accurate, it is expected to give a good indication of the complexity of the scene rendering.

The value is updated only when extendedDataCollectionEnabled is enabled.

Since
6.5

Definition at line 650 of file qquick3drenderstats.cpp.

◆ drawVertexCountChanged

void QQuick3DRenderStats::drawVertexCountChanged ( )
signal

◆ effectGenerationTime()

qint64 QQuick3DRenderStats::effectGenerationTime ( ) const

\qmlproperty qint64 QtQuick3D::RenderStats::effectGenerationTime \readonly

This property holds the total number of milliseconds spent on generating and processing shader code for post-processing effects in the window the \l View3D belongs to.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 811 of file qquick3drenderstats.cpp.

◆ effectGenerationTimeChanged

void QQuick3DRenderStats::effectGenerationTimeChanged ( )
signal

◆ endRender()

void QQuick3DRenderStats::endRender ( bool dump = false)

Definition at line 135 of file qquick3drenderstats.cpp.

References dump(), and qDebug.

Referenced by SGFramebufferObjectNode::render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ endRenderPrepare()

void QQuick3DRenderStats::endRenderPrepare ( )

Definition at line 130 of file qquick3drenderstats.cpp.

Referenced by QQuick3DSceneRenderer::renderToRhiTexture().

+ Here is the caller graph for this function:

◆ endSync()

void QQuick3DRenderStats::endSync ( bool dump = false)

Definition at line 112 of file qquick3drenderstats.cpp.

References dump(), and qDebug.

Referenced by QQuick3DSceneRenderer::synchronize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ extendedDataCollectionEnabled()

bool QQuick3DRenderStats::extendedDataCollectionEnabled ( ) const

\qmlproperty bool QtQuick3D::RenderStats::extendedDataCollectionEnabled

This property controls if render pass and draw call statistics are processed and made available. This may incur a small performance cost and is therefore optional.

Properties such as drawCallCount, drawVertexCount, or renderPassCount are updated only when this property is set to true.

The default value is false.

Note
Changing the visibility of a \l DebugView associated with the \l View3D automatically toggles the value based on the DebugView's \l{QQuickItem::visible}{visible} property.
Since
6.5

Definition at line 286 of file qquick3drenderstats.cpp.

◆ extendedDataCollectionEnabledChanged

void QQuick3DRenderStats::extendedDataCollectionEnabledChanged ( )
signal

Referenced by setExtendedDataCollectionEnabled().

+ Here is the caller graph for this function:

◆ fps()

int QQuick3DRenderStats::fps ( ) const

\qmlproperty int QtQuick3D::RenderStats::fps \readonly

This property holds the number of frames rendered during the last second.

Definition at line 34 of file qquick3drenderstats.cpp.

◆ fpsChanged

void QQuick3DRenderStats::fpsChanged ( )
signal

◆ frameTime()

float QQuick3DRenderStats::frameTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::frameTime \readonly

This property holds the amount of time elapsed since the last frame, in milliseconds.

Definition at line 46 of file qquick3drenderstats.cpp.

◆ frameTimeChanged

void QQuick3DRenderStats::frameTimeChanged ( )
signal

◆ graphicsApiName()

QString QQuick3DRenderStats::graphicsApiName ( ) const

\qmlproperty string QtQuick3D::RenderStats::graphicsAPIName \readonly

This property holds the name of the current graphics API (RHI) backend currently in use.

Since
6.5

Definition at line 914 of file qquick3drenderstats.cpp.

◆ graphicsApiNameChanged

void QQuick3DRenderStats::graphicsApiNameChanged ( )
signal

Referenced by setRhiContext().

+ Here is the caller graph for this function:

◆ imageDataSize()

quint64 QQuick3DRenderStats::imageDataSize ( ) const

\qmlproperty quint64 QtQuick3D::RenderStats::imageDataSize \readonly

This property holds the approximate size in bytes of the image data for texture maps currently registered with the View3D's window. The value is per-window, meaning if there are multiple View3D objects within the same QQuickWindow, those will likely report the same value.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 672 of file qquick3drenderstats.cpp.

◆ imageDataSizeChanged

void QQuick3DRenderStats::imageDataSizeChanged ( )
signal

◆ lastCompletedGpuTime()

float QQuick3DRenderStats::lastCompletedGpuTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::lastCompletedGpuTime \readonly

When GPU timing collection is \l{QQuickGraphicsConfiguration::setTimestamps()}{enabled in Qt Quick}, and the relevant features are supported by the underlying graphics API, this property contains the last retrieved elapsed GPU time in milliseconds.

Note
The value is retrieved asynchronously, and usually refers to a frame older than the previous one, meaning that the value is not necessarily in sync with the other, CPU-side timings.
The result is based on the rendering of the entire contents of the QQuickWindow the View3D belongs to. It includes all the contents of Qt Quick scene, including all 2D elements and all View3D items within that window.
Since
6.6
See also
QQuickGraphicsConfiguration::setTimestamps()

Definition at line 941 of file qquick3drenderstats.cpp.

◆ lastCompletedGpuTimeChanged

void QQuick3DRenderStats::lastCompletedGpuTimeChanged ( )
signal

References imageDataSize().

+ Here is the call graph for this function:

◆ materialGenerationTime()

qint64 QQuick3DRenderStats::materialGenerationTime ( ) const

\qmlproperty qint64 QtQuick3D::RenderStats::materialGenerationTime \readonly

This property holds the total number of milliseconds spent on generating and processing shader code for \l DefaultMaterial, \l PrincipledMaterial, and \l CustomMaterial in the window the \l View3D belongs to.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 790 of file qquick3drenderstats.cpp.

◆ materialGenerationTimeChanged

void QQuick3DRenderStats::materialGenerationTimeChanged ( )
signal

◆ maxFrameTime()

float QQuick3DRenderStats::maxFrameTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::maxFrameTime \readonly

This property holds the maximum time spent rendering a single frame during the last second.

Definition at line 97 of file qquick3drenderstats.cpp.

◆ maxFrameTimeChanged

void QQuick3DRenderStats::maxFrameTimeChanged ( )
signal

◆ meshDataSize()

quint64 QQuick3DRenderStats::meshDataSize ( ) const

\qmlproperty quint64 QtQuick3D::RenderStats::meshDataSize \readonly

This property holds the approximate size in bytes of the mesh data currently registered with the View3D's window. The value is per-window, meaning if there are multiple View3D objects within the same QQuickWindow, those will likely report the same value.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 694 of file qquick3drenderstats.cpp.

◆ meshDataSizeChanged

void QQuick3DRenderStats::meshDataSizeChanged ( )
signal

◆ meshDetails()

QString QQuick3DRenderStats::meshDetails ( ) const

\qmlproperty string QtQuick3D::RenderStats::meshDetails \readonly

Since
6.5

Definition at line 749 of file qquick3drenderstats.cpp.

◆ meshDetailsChanged

void QQuick3DRenderStats::meshDetailsChanged ( )
signal

◆ pipelineCount()

int QQuick3DRenderStats::pipelineCount ( ) const

\qmlproperty int QtQuick3D::RenderStats::pipelineCount \readonly

This property holds the total number of cached graphics pipelines for the window the \l View3D belongs to.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 769 of file qquick3drenderstats.cpp.

◆ pipelineCountChanged

void QQuick3DRenderStats::pipelineCountChanged ( )
signal

◆ pipelineCreationTime()

qint64 QQuick3DRenderStats::pipelineCreationTime ( ) const

\qmlproperty qint64 QtQuick3D::RenderStats::pipelineCreationTime \readonly

This property holds the total number of milliseconds spent on creating graphics pipelines on the rendering hardware interface level. This can include, among other things: compilation times for compiling HLSL to an intermediate format, compiling MSL, compiling GLSL code with glCompileShader or linking using program binaries, and generating Vulkan pipelines with all that entails (e.g. SPIR-V -> ISA compilation). The value reflects all Qt Quick and Qt Quick 3D rendering in the window the \l View3D belongs to.

Note
The value includes operations that are under Qt's control. Depending on the underlying graphics API, some pipeline (shader, graphics state) related operations may happen asynchronously, and may be affected by caching on various levels in the graphics stack. Releasing cached resource by calling QQuickWindow::releaseResources() or clicking the corresponding DebugView button may also have varying results, depending on the underlying details (rhi backend, graphics API); it may or may not affect this counter due to a varying number of factors.

This timing is provided as a general, high level indication. Combined with \l materialGenerationTime, application developers can use these values to confirm that the time spent on material and graphics pipeline processing is reasonably low during the normal use of the application, once all caches (both persistent and in-memory) are warm. Avoid drawing conclusions from the first run of the application. (since that may not benefit from persistent, disk-based caches yet)

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 854 of file qquick3drenderstats.cpp.

References QRhiStats::totalPipelineCreationTime.

◆ pipelineCreationTimeChanged

void QQuick3DRenderStats::pipelineCreationTimeChanged ( )
signal

◆ releaseCachedResources()

void QQuick3DRenderStats::releaseCachedResources ( )

Definition at line 949 of file qquick3drenderstats.cpp.

References qWarning, and QQuickWindow::releaseResources().

+ Here is the call graph for this function:

◆ renderPassCount()

int QQuick3DRenderStats::renderPassCount ( ) const

\qmlproperty int QtQuick3D::RenderStats::renderPassCount \readonly

This property holds the total number of render passes that were registered during the last render of the \l View3D.

Many features, such as realtime shadow mapping, postprocessing effects, the depth and screen textures, and certain antialiasing methods involve multiple additional render passes. While the number is not guaranteed to include absolutely all render passes, it is expected to give a good indication of the complexity of the scene rendering.

The value is updated only when extendedDataCollectionEnabled is enabled.

Since
6.5

Definition at line 716 of file qquick3drenderstats.cpp.

◆ renderPassCountChanged

void QQuick3DRenderStats::renderPassCountChanged ( )
signal

◆ renderPassDetails()

QString QQuick3DRenderStats::renderPassDetails ( ) const

\qmlproperty string QtQuick3D::RenderStats::renderPassDetails \readonly

Since
6.5

Definition at line 727 of file qquick3drenderstats.cpp.

◆ renderPassDetailsChanged

void QQuick3DRenderStats::renderPassDetailsChanged ( )
signal

◆ renderPrepareTime()

float QQuick3DRenderStats::renderPrepareTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::renderPrepareTime \readonly

This property holds the amount of time spent in the preparation phase of rendering, in milliseconds. This is a subset of the total render time reported in renderTime.

Definition at line 72 of file qquick3drenderstats.cpp.

◆ renderTime()

float QQuick3DRenderStats::renderTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::renderTime \readonly

This property holds the amount of time spent on generating a new frame, including both the preparation phase and the recording of draw calls. The value is in milliseconds.

Definition at line 59 of file qquick3drenderstats.cpp.

◆ renderTimeChanged

void QQuick3DRenderStats::renderTimeChanged ( )
signal

◆ setExtendedDataCollectionEnabled()

void QQuick3DRenderStats::setExtendedDataCollectionEnabled ( bool enable)

Definition at line 291 of file qquick3drenderstats.cpp.

References QSSGRhiContextStats::dynamicDataSources, emit, extendedDataCollectionEnabledChanged(), QSet< T >::insert(), and QSet< T >::remove().

+ Here is the call graph for this function:

◆ setRhiContext()

void QQuick3DRenderStats::setRhiContext ( QSSGRhiContext * ctx,
QSSGRenderLayer * layer )

Definition at line 229 of file qquick3drenderstats.cpp.

References QRhi::backendName(), backendName, QSSGRhiContextStats::dynamicDataSources, emit, QString::fromUtf8(), QSSGRhiContextStats::get(), graphicsApiNameChanged(), QSet< T >::insert(), QSSGRhiContext::rhi(), and QSSGRhiContextStats::rhiCtx.

Referenced by QQuick3DSceneRenderer::synchronize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setWindow()

void QQuick3DRenderStats::setWindow ( QQuickWindow * window)

Definition at line 251 of file qquick3drenderstats.cpp.

References QObject::connect(), Qt::DirectConnection, disconnect(), and window().

Referenced by QQuick3DViewport::itemChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ startRender()

void QQuick3DRenderStats::startRender ( )

Definition at line 120 of file qquick3drenderstats.cpp.

Referenced by SGFramebufferObjectNode::render().

+ Here is the caller graph for this function:

◆ startRenderPrepare()

void QQuick3DRenderStats::startRenderPrepare ( )

Definition at line 125 of file qquick3drenderstats.cpp.

Referenced by QQuick3DSceneRenderer::renderToRhiTexture().

+ Here is the caller graph for this function:

◆ startSync()

void QQuick3DRenderStats::startSync ( )

Definition at line 107 of file qquick3drenderstats.cpp.

Referenced by QQuick3DSceneRenderer::synchronize().

+ Here is the caller graph for this function:

◆ syncTime()

float QQuick3DRenderStats::syncTime ( ) const

\qmlproperty float QtQuick3D::RenderStats::syncTime \readonly

This property holds the amount of time spent inside the sync function, in milliseconds. The property values of the objects are updated during the sync.

Definition at line 85 of file qquick3drenderstats.cpp.

◆ syncTimeChanged

void QQuick3DRenderStats::syncTimeChanged ( )
signal

◆ textureDetails()

QString QQuick3DRenderStats::textureDetails ( ) const

\qmlproperty string QtQuick3D::RenderStats::textureDetails \readonly

Since
6.5

Definition at line 738 of file qquick3drenderstats.cpp.

◆ textureDetailsChanged

void QQuick3DRenderStats::textureDetailsChanged ( )
signal

◆ vmemAllocCount()

quint32 QQuick3DRenderStats::vmemAllocCount ( ) const

\qmlproperty quint32 QtQuick3D::RenderStats::vmemAllocCount \readonly

When applicable, the number of allocations made by the graphics memory allocator library. This includes allocations from all Qt Quick and Qt Quick 3D rendering in the QQuickWindow to which the \l View3D belongs. The value is zero with graphics APIs such as OpenGL, Direct3D, and Metal because memory allocation is not under Qt's control then.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 877 of file qquick3drenderstats.cpp.

References QRhiStats::allocCount.

◆ vmemAllocCountChanged

void QQuick3DRenderStats::vmemAllocCountChanged ( )
signal

◆ vmemUsedBytes()

quint64 QQuick3DRenderStats::vmemUsedBytes ( ) const

\qmlproperty quint64 QtQuick3D::RenderStats::vmemUsedBytes \readonly

When applicable, the number of bytes used by allocations made by the graphics memory allocator library. This includes allocations from all Qt Quick and Qt Quick 3D rendering in the QQuickWindow to which the \l View3D belongs. The value is zero with graphics APIs such as OpenGL, Direct3D, and Metal because memory allocation is not under Qt's control then.

The value is updated only when extendedDataCollectionEnabled is enabled.

Note
The value is reported on a per-QQuickWindow basis. If there are multiple View3D instances within the same window, the DebugView shows the same value for all those View3Ds.
Since
6.5

Definition at line 900 of file qquick3drenderstats.cpp.

References QRhiStats::usedBytes.

◆ vmemUsedBytesChanged

void QQuick3DRenderStats::vmemUsedBytesChanged ( )
signal

Property Documentation

◆ drawCallCount

quint64 QQuick3DRenderStats::drawCallCount
read

Definition at line 39 of file qquick3drenderstats_p.h.

◆ drawVertexCount

quint64 QQuick3DRenderStats::drawVertexCount
read

Definition at line 40 of file qquick3drenderstats_p.h.

◆ effectGenerationTime

qint64 QQuick3DRenderStats::effectGenerationTime
read

Definition at line 49 of file qquick3drenderstats_p.h.

◆ extendedDataCollectionEnabled

bool QQuick3DRenderStats::extendedDataCollectionEnabled
readwrite

Definition at line 38 of file qquick3drenderstats_p.h.

◆ fps

int QQuick3DRenderStats::fps
read

Definition at line 31 of file qquick3drenderstats_p.h.

◆ frameTime

float QQuick3DRenderStats::frameTime
read

Definition at line 32 of file qquick3drenderstats_p.h.

◆ graphicsApiName

QString QQuick3DRenderStats::graphicsApiName
read

Definition at line 53 of file qquick3drenderstats_p.h.

◆ imageDataSize

quint64 QQuick3DRenderStats::imageDataSize
read

Definition at line 41 of file qquick3drenderstats_p.h.

◆ lastCompletedGpuTime

float QQuick3DRenderStats::lastCompletedGpuTime
read

Definition at line 54 of file qquick3drenderstats_p.h.

◆ materialGenerationTime

qint64 QQuick3DRenderStats::materialGenerationTime
read

Definition at line 48 of file qquick3drenderstats_p.h.

◆ maxFrameTime

float QQuick3DRenderStats::maxFrameTime
read

Definition at line 36 of file qquick3drenderstats_p.h.

◆ meshDataSize

quint64 QQuick3DRenderStats::meshDataSize
read

Definition at line 42 of file qquick3drenderstats_p.h.

◆ meshDetails

QString QQuick3DRenderStats::meshDetails
read

Definition at line 46 of file qquick3drenderstats_p.h.

◆ pipelineCount

int QQuick3DRenderStats::pipelineCount
read

Definition at line 47 of file qquick3drenderstats_p.h.

◆ pipelineCreationTime

qint64 QQuick3DRenderStats::pipelineCreationTime
read

Definition at line 50 of file qquick3drenderstats_p.h.

◆ renderPassCount

int QQuick3DRenderStats::renderPassCount
read

Definition at line 43 of file qquick3drenderstats_p.h.

◆ renderPassDetails

QString QQuick3DRenderStats::renderPassDetails
read

Definition at line 44 of file qquick3drenderstats_p.h.

◆ renderPrepareTime

float QQuick3DRenderStats::renderPrepareTime
read

Definition at line 34 of file qquick3drenderstats_p.h.

◆ renderTime

float QQuick3DRenderStats::renderTime
read

Definition at line 33 of file qquick3drenderstats_p.h.

◆ syncTime

float QQuick3DRenderStats::syncTime
read

Definition at line 35 of file qquick3drenderstats_p.h.

◆ textureDetails

QString QQuick3DRenderStats::textureDetails
read

Definition at line 45 of file qquick3drenderstats_p.h.

◆ vmemAllocCount

quint32 QQuick3DRenderStats::vmemAllocCount
read

Definition at line 51 of file qquick3drenderstats_p.h.

◆ vmemUsedBytes

quint64 QQuick3DRenderStats::vmemUsedBytes
read

Definition at line 52 of file qquick3drenderstats_p.h.


The documentation for this class was generated from the following files: