本页内容

RenderStats QML Type

提供场景渲染的相关信息。更多...

Import Statement: import QtQuick3D

属性

详细说明

RenderStats 类型提供有关场景渲染统计信息的数据。该类型无法直接创建,但可从 `View3D` 中获取。

使用“DebugView ”项可在屏幕上显示相关数据。

属性文档

drawCallCount : quint64 [read-only, since 6.5]

该属性存储在View3D 的上次渲染过程中注册的绘制调用总数(包括非索引、索引、实例化和实例化索引绘制调用)。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

该属性自 Qt 6.5 起引入。

drawVertexCount : quint64 [read-only, since 6.5]

该属性存储了View3D 在上次渲染期间注册的绘制调用中顶点的总数。

该值包含在View3D 上次渲染期间注册的绘制调用中的顶点数和索引数。虽然该数值不保证完全准确,但预计能很好地反映场景渲染的复杂程度。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

该属性于 Qt 6.5 中引入。

effectGenerationTime : qint64 [read-only, since 6.5]

该属性存储了View3D 所属窗口中,用于生成和处理后处理效果着色器代码所耗费的总毫秒数。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该 值按每个“QQuickWindow ”报告。如果同一个窗口内有多个“View3D ”实例,则“DebugView ”会为所有这些“View3D”显示相同的值。

该属性自 Qt 6.5 起引入。

extendedDataCollectionEnabled : bool [since 6.5]

此属性控制是否处理并提供渲染通道和绘制调用统计信息。这可能会带来轻微的性能开销,因此该选项为可选。

只有当此属性设置为 true 时,drawCallCount 、drawVertexCount 或renderPassCount 等属性才会被更新。

默认值为 false。

注意:更改 与View3D 关联的DebugView 的可见性时,系统会根据DebugView 的visible 属性自动切换其值。

该属性在 Qt 6.5 中引入。

fps : int [read-only]

该属性存储了过去一秒内渲染的帧数。

frameTime : real [read-only]

该属性保存自上一帧以来经过的时间,单位为毫秒。

graphicsAPIName : string [read-only, since 6.5]

该属性存储当前正在使用的图形 API(RHI)后端的名称。

该属性在 Qt 6.5 中引入。

imageDataSize : quint64 [read-only, since 6.5]

该属性存储当前在View3D 窗口中注册的纹理贴图的图像数据的大致大小(以字节为单位)。该值为每个窗口独立计算,这意味着如果同一个QQuickWindow 中包含多个View3D 对象,它们报告的值很可能相同。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该值 按QQuickWindow 进行报告。如果同一个窗口内有多个View3D 实例,则DebugView 会为所有这些 View3D 显示相同的值。

该属性自 Qt 6.5 起引入。

lastCompletedGpuTime : real [read-only, since 6.6]

当启用 GPU 计时数据收集时 enabled in Qt Quick,且底层图形 API 支持相关功能时,该属性将包含最近获取的 GPU 经过时间(单位为毫秒)。

注意:该 值是异步获取的,通常指比当前帧更早的一帧,这意味着该值不一定与其他 CPU 侧的计时数据保持同步。

注意:该结果 基于View3D 所属的QQuickWindow 的全部内容渲染情况。它包括Qt Quick 场景中的所有内容,包括该窗口内的所有2D元素和所有View3D 项。

该属性在 Qt 6.6 中引入。

另请参阅 QQuickGraphicsConfiguration::setTimestamps()。

materialGenerationTime : qint64 [read-only, since 6.5]

该属性记录了在View3D 所属窗口中,为DefaultMaterial 、PrincipledMaterial 和CustomMaterial 生成和处理着色器代码所花费的总毫秒数。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该值 按每个“QQuickWindow ”实例分别报告。如果同一个窗口中存在多个“View3D ”实例,则“DebugView ”会为所有这些“View3D”显示相同的值。

该属性自 Qt 6.5 起引入。

maxFrameTime : real [read-only]

该属性存储了过去一秒内渲染单帧所花费的最长时间。

meshDataSize : quint64 [read-only, since 6.5]

该属性存储当前在View3D 窗口中注册的网格数据的近似大小(以字节为单位)。该值为每个窗口单独计算,这意味着如果同一个QQuickWindow 中包含多个View3D 对象,它们报告的值很可能相同。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该 值按QQuickWindow 为单位进行报告。如果同一窗口内存在多个View3D 实例,则DebugView 会为所有这些View3D显示相同的值。

该属性自 Qt 6.5 起引入。

pipelineCount : int [read-only, since 6.5]

该属性存储了View3D 所属窗口中缓存的图形管道总数。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该 值按每个“QQuickWindow ”进行报告。如果同一个窗口中有多个“View3D ”实例,则“DebugView ”会为所有这些“View3D”显示相同的值。

该属性自 Qt 6.5 起引入。

pipelineCreationTime : qint64 [read-only, since 6.5]

该属性记录在渲染硬件接口层创建图形管道所耗费的总毫秒数。 这可能包括(但不限于):将 HLSL 编译为中间格式的编译时间、MSL 的编译、使用 glCompileShader 编译 GLSL 代码或使用程序二进制文件进行链接,以及生成 Vulkan 管道及其涉及的所有过程(例如 SPIR-V 到 ISA 的编译)。 该值反映了View3D 所属窗口中所有Qt Quick 和Qt Quick 3D 的渲染情况。

注意:该值 包含由 Qt 控制的操作。根据底层图形 API 的不同,某些与管道(着色器、图形状态)相关的操作可能会异步发生,并可能受到图形堆栈中各层缓存的影响。 通过调用QQuickWindow::releaseResources() 或点击相应的DebugView 按钮来释放缓存资源,其结果也可能因底层细节(rhi 后端、图形 API)而异;由于多种因素的影响,这可能会或可能不会影响该计数器。

此时间数据仅作为一般性、高层次的参考。结合materialGenerationTime ,应用程序开发人员可以利用这些值来确认:在应用程序正常使用期间,一旦所有缓存(包括持久缓存和内存缓存)均已预热,用于材质和图形管道处理的时间是否处于合理较低水平。 请避免仅根据应用程序的首次运行结果就下结论。(因为此时可能尚未从基于磁盘的持久化缓存中获益)

该值仅在启用extendedDataCollectionEnabled 时才会更新。

注意:该值是 按每个QQuickWindow 报告的。如果同一个窗口内有多个View3D 实例,DebugView 会为所有这些 View3D 显示相同的值。

该属性自 Qt 6.5 起引入。

renderPassCount : int [read-only, since 6.5]

该属性存储了在View3D 的上次渲染过程中注册的渲染通道总数。

许多功能(例如实时阴影映射、后处理效果、深度贴图和屏幕贴图,以及某些抗锯齿方法)都会涉及多个额外的渲染通道。虽然该数值不能保证绝对包含所有渲染通道,但预计能很好地反映场景渲染的复杂程度。

该值仅在启用extendedDataCollectionEnabled 时才会更新。

该属性自 Qt 6.5 起引入。

renderPrepareTime : real [read-only]

该属性记录了渲染准备阶段所花费的时间(单位为毫秒)。这是renderTime 中报告的总渲染时间的一部分。

renderTime : real [read-only]

该属性记录生成新帧所花费的时间,包括准备阶段和绘制调用的记录。该值以毫秒为单位。

syncTime : real [read-only]

该属性存储在同步函数内部花费的时间,单位为毫秒。对象的属性值会在同步过程中进行更新。

vmemAllocCount : quint32 [read-only, since 6.5]

在适用情况下,此值为图形内存分配器库执行的内存分配次数。这包括在QQuickWindow 中,所有属于View3D 的Qt Quick 和Qt Quick 3D 渲染所进行的内存分配。对于OpenGL、Direct3D和Metal等图形API,该值为零,因为此时内存分配不受Qt控制。

仅当启用extendedDataCollectionEnabled 时,该值才会更新。

注意:该值 按每个QQuickWindow 进行报告。如果同一窗口内存在多个View3D 实例,则DebugView 会为所有这些 View3D 显示相同的值。

该属性自 Qt 6.5 起引入。

vmemUsedBytes : quint64 [read-only, since 6.5]

在适用情况下,图形内存分配库所分配内存所占用的字节数。这包括在QQuickWindow 中,所有属于View3D 的Qt Quick 和Qt Quick 3D 渲染所进行的内存分配。对于OpenGL、Direct3D和Metal等图形API,该值为零,因为此时内存分配不受Qt控制。

仅当启用extendedDataCollectionEnabled 时,该值才会更新。

注意:该值 按每个QQuickWindow 进行报告。如果同一个窗口内有多个View3D 实例,则DebugView 会为所有这些 View3D 显示相同的值。

该属性自 Qt 6.5 起引入。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.