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 时,才会更新drawCallCountdrawVertexCountrenderPassCount 等属性。

默认值为 false。

注意: 更改与View3D 相关联的DebugView 的可见性时,会自动根据DebugViewvisible 属性切换该值。

该属性在 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 所属窗口中生成和处理DefaultMaterialPrincipledMaterialCustomMaterial 的着色器代码所花费的总毫秒数。

只有启用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 QuickQt 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]

图形内存分配器库分配的次数(如适用)。这包括View3D 所属QQuickWindow 中所有Qt QuickQt Quick 3D 渲染的分配。在使用 OpenGL、Direct3D 和 Metal 等图形 API 时,该值为零,因为此时内存分配不受 Qt 控制。

只有启用extendedDataCollectionEnabled 时,该值才会更新。

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

此属性在 Qt 6.5 中引入。


vmemUsedBytes : quint64 [read-only, since 6.5]

适用时,图形内存分配器库分配所使用的字节数。这包括来自View3D 所属QQuickWindow 中所有Qt QuickQt Quick 3D 渲染的分配。在使用 OpenGL、Direct3D 和 Metal 等图形 API 时,该值为零,因为此时内存分配不受 Qt 控制。

只有启用extendedDataCollectionEnabled 时,该值才会更新。

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

此属性在 Qt 6.5 中引入。


© 2025 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.