跳到主要内容

Performance

继承

Object

简要描述

公开与性能相关的数据。

描述

此类提供对许多与性能相关的不同监视器的访问,例如内存使用,绘图调用和FPS。

注意:其中一些监视器仅在调试模式下可用,并且在发行版中使用时始终返回0。

注意:这些监视器中有许多不是实时更新的,因此更改之间可能会有短暂的延迟。

方法

返回值类型方法名称
floatget_monitor(monitor: int) const

枚举

enum Monitor:

  • **TIME_FPS = 0**

每秒的帧数。

  • **TIME_PROCESS = 1**

完成一帧所需的时间(以秒为单位)。

  • **TIME_PHYSICS_PROCESS = 2**

完成一个物理帧所需的时间(以秒为单位)。

  • **MEMORY_STATIC = 3**

当前使用的静态内存,以字节为单位。在发行版本中不可用。

  • **MEMORY_DYNAMIC = 4**

当前使用的动态内存,以字节为单位。在发行版本中不可用。

  • **MEMORY_STATIC_MAX = 5**

可用的静态内存。在发行版本中不可用。

  • **MEMORY_DYNAMIC_MAX = 6**

可用动态内存。在发行版本中不可用。

  • **MEMORY_MESSAGE_BUFFER_MAX = 7**

消息队列缓冲区已使用的最大内存量(以字节为单位)。

  • **OBJECT_COUNT = 8**

当前实例化的对象数(包括节点)。

  • **OBJECT_RESOURCE_COUNT = 9**

当前使用的资源数量。

  • **OBJECT_NODE_COUNT = 10**

当前在场景树中实例化的节点数。

  • **OBJECT_ORPHAN_NODE_COUNT = 11**

孤立节点的数量,即不以场景树节点为父节点的节点。

  • **RENDER_OBJECTS_IN_FRAME = 12**

每帧绘制3D对象。

  • **RENDER_VERTICES_IN_FRAME = 13**

每帧绘制的顶点。仅3D。

  • **RENDER_MATERIAL_CHANGES_IN_FRAME = 14**

每帧的材质变化。仅3D。

  • **RENDER_SHADER_CHANGES_IN_FRAME = 15**

着色器每帧变化。仅3D。

  • **RENDER_SURFACE_CHANGES_IN_FRAME = 16**

每帧渲染表面变化。仅3D。

  • **RENDER_DRAW_CALLS_IN_FRAME = 17**

每帧调用一次。仅3D。

  • **RENDER_VIDEO_MEM_USED = 18**

使用的显存,即纹理和顶点内存的总和。

  • **RENDER_TEXTURE_MEM_USED = 19**

使用的纹理内存量。

  • **RENDER_VERTEX_MEM_USED = 20**

使用的顶点内存量。

  • **RENDER_USAGE_VIDEO_MEM_TOTAL = 21**

在呈现后端中未实现,始终返回0。

  • **PHYSICS_2D_ACTIVE_OBJECTS = 22**

项目中活动的RigidBody2D节点数。

  • **PHYSICS_2D_COLLISION_PAIRS = 23**

2D物理引擎中的碰撞对数。

  • **PHYSICS_2D_ISLAND_COUNT = 24**

2D物理引擎中的岛屿数量。

  • **PHYSICS_3D_ACTIVE_OBJECTS = 25**

项目中活动的RigidBodyVehicleBody节点的数量。

  • **PHYSICS_3D_COLLISION_PAIRS = 26**

3D物理引擎中的碰撞对数。

  • **PHYSICS_3D_ISLAND_COUNT = 27**

3D物理引擎中的岛屿数量。

  • **AUDIO_OUTPUT_LATENCY = 28**

AudioServer的输出延迟。

  • **MONITOR_MAX = 29**

表示Monitor枚举的大小。


方法说明

  • get_monitor get_monitor(monitor: int) const

返回一个可用监视器的值。您应该提供Monitor常量之一作为参数,如下所示:

print(Performance.get_monitor(Performance.TIME_FPS)) # 将FPS打印到控制台