RenderStats QML 类型

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

导入语句import QtQuick3D

属性

详细描述

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

使用 DebugView 项目在屏幕上显示数据。

属性文档

drawCallCount : quint64 [只读,自6.5起]

此属性保留在View3D的最近一次渲染过程中注册的绘制调用总数(包括非索引、索引、实例化和实例化索引的绘制调用)。

仅在启用extendedDataCollectionEnabled时,才更新此值。

此属性是在Qt 6.5中引入的。


drawVertexCount : quint64 [只读,自6.5起]

此属性保留在View3D的最近一次渲染过程中注册的绘制调用中的顶点总数。

值包括来自View3D最近一次渲染的绘制调用中的顶点和索引计数值。虽然这个数字可能不是完全准确的,但它应该可以很好地指示场景渲染的复杂性。

仅在启用extendedDataCollectionEnabled时,才更新此值。

此属性是在Qt 6.5中引入的。


effectGenerationTime : qint64 [只读,自6.5起]

此属性保留属于View3D的窗口中生成和处理后处理着色器代码所用的时间,以毫秒为单位。

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


extendedDataCollectionEnabled : bool [自6.5起]

此属性控制是否处理并使渲染阶段和绘制调用统计信息可用。这可能会带来轻微的性能开销,因此是可选的。

例如,如drawCallCountdrawVertexCountrenderPassCount之类的属性仅在将此属性设置为true时才会更新。

默认值为false。

注意:自动基于DebugViewvisible属性切换与View3D关联的DebugView的可见性。

此属性是在Qt 6.5中引入的。


fps : int [只读]

此属性保留在过去的1秒内渲染的帧数。


frameTime : float [只读]

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


graphicsAPIName : string [只读,自6.5起]

此属性保留当前使用的当前图形API(RHI)后端名称。

此属性是在Qt 6.5中引入的。


imageDataSize : quint64 [只读,自6.5起]

此属性保留注册在View3D的窗口中的纹理图数据的大致字节数。此值是针对窗口的,这意味着如果在同一QQuickWindow中有多个View3D对象,它们可能会报告相同的价值。

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


lastCompletedGpuTime : float [只读,自6.6起]

当在 Qt Quick 中启用 GPU 时机收集,并且底层图形 API 支持相关功能时,此属性包含最后检索到的 GPU 耗时(以毫秒为单位)。

注意:该值异步检索,通常指的是比前一个帧更旧的帧,这意味着该值不一定与其他 CPU 端计时同步。

注意:结果基于 QQuickWindow 中整个内容的渲染,该内容属于 View3D。这包括 Qt Quick 场景的所有内容,包括该窗口内的所有 2D 元素和所有的 View3D 项目。

此属性自 Qt 6.6 版本引入。

另请参阅:QQuickGraphicsConfiguration::setTimestamps()。


materialGenerationTime : qint64 [只读,自 6.5]

此属性保存用于在窗口中生成和处理 DefaultMaterialPrincipledMaterialCustomMaterial 着色器代码所花费的毫秒总数。

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


maxFrameTime : float [只读]

此属性保存过去一秒内渲染单个帧所花费的最大时间。


meshDataSize : quint64 [只读,自 6.5]

此属性保存当前已注册到 View3D 窗口中的网格数据的近似字节大小。该值是窗口级别的,这意味着如果有多个 View3D 对象在同一 QQuickWindow 中,它们可能会报告相同的值。

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


pipelineCount : int [只读,自 6.5]

此属性保存属于 View3D 的窗口的缓存的图形管道的总数。

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


pipelineCreationTime : qint64 [只读,自 6.5]

此属性保存在渲染硬件接口级别上创建图形管道所花费的毫秒总数。这可以包括其他事情,例如:将 HLSL 编译为中间格式、编译 MSL、使用 glCompileShader 编译 GLSL 代码以及使用程序二进制链接,以及生成带有所有相关内容的 Vulkan 管道(例如 SPIR-V → ISA 编译)。该值反映在 View3D 所属的窗口中进行的所有 Qt Quick 和 Qt Quick 3D 渲染。

注意:该值包括在 Qt 控制之下的操作。根据底层图形 API,一些与管道(着色器、图形状态)相关的操作可能异步发生,并且可能受到图形堆栈中不同级别的缓存的影响。通过调用 QQuickWindow::releaseResources() 或点击相应的 DebugView 按钮释放缓存的资源也可能有不同结果,这取决于底层细节(图形后端、图形 API);它可能或可能不会因为这个计数器的变化而受到影响,这是由于许多因素的影响。

此时间作为一般性、高级指示提供。结合 materialGenerationTime,应用开发者可以使用这些值来确认在应用程序正常使用期间,对所有缓存(持久性和内存中)都处于预热状态时,用于材质和图形管线处理的时间是合理的低。避免从应用程序的第一次运行得出结论。(因为可能尚未从基于持久存储的缓存中受益)

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


renderPassCount : int [只读,自6.5起]

此属性保留上次渲染View3D期间注册的渲染遍历的总数。

许多功能,如实时阴影映射、后处理效果、深度和屏幕纹理,以及某些抗锯齿方法涉及到多个额外的渲染遍历。虽然这个数字不一定包括绝对所有的渲染遍历,但它有望给出场景渲染复杂性的良好指示。

仅在启用extendedDataCollectionEnabled时,才更新此值。

此属性是在Qt 6.5中引入的。


renderPrepareTime : float [只读]

此属性保留在渲染准备阶段花费的时间,以毫秒为单位。这是renderTime中报告的总渲染时间的一个子集。


renderTime : float [只读]

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


syncTime : float [只读]

此属性保留在同步函数内花费的时间,以毫秒为单位。同步期间更新对象的属性值。


vmemAllocCount : quint32 [只读,自6.5起]

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

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


vmemUsedBytes : quint64 [只读,自6.5起]

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

仅在启用extendedDataCollectionEnabled时,才更新此值。

注意:此值按QQuickWindow的方式报告。如果同一窗口中有多个View3D实例,DebugView将显示所有那些View3D的相同值。

此属性是在Qt 6.5中引入的。


© 2024 The Qt Company Ltd. 本文档中包含的文献贡献归其各自所有者所有。本文档提供的内容受GNU Free Documentation License version 1.3的条款许可,由Free Software Foundation发布。Qt以及相应的商标是全球芬兰及其它地区的The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。