Performance
Inherits: Object
公开与性能相关的数据。
描述
这个类提供了对一些与性能有关的不同监控的访问,比如内存使用量、绘制调用和FPS。这些与编辑器的Monitor标签中的Debugger面板所显示的数值相同。通过使用这个类的get_monitor方法,可以从你的代码中访问这些数据。
注意: 这些监视器中有几个只在调试模式下可用,当在发布版构建中使用时,将总是返回0。
注意: 这些监控器中的许多不是实时更新的,所以在变化之间可能会有短暂的延迟。
方法
get_monitor ( Monitor monitor ) 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_2D_ITEMS_IN_FRAME = 18 —- 每帧绘制的项目或连接的项目。
RENDER_2D_DRAW_CALLS_IN_FRAME = 19 —- 每帧绘制调用。
RENDER_VIDEO_MEM_USED = 20 —- 使用的视频内存的数量,即纹理和顶点内存的总和。
RENDER_TEXTURE_MEM_USED = 21 —- 使用的纹理内存的数量。
RENDER_VERTEX_MEM_USED = 22 —- 使用的顶点内存数量。
RENDER_USAGE_VIDEO_MEM_TOTAL = 23 —- 在 GLES2 和 GLES3 渲染后端中未实现,始终返回 0。
PHYSICS_2D_ACTIVE_OBJECTS = 24 —- 游戏中活跃的RigidBody2D节点数量。
PHYSICS_2D_COLLISION_PAIRS = 25 —- 2D物理引擎中的碰撞对数量。
PHYSICS_2D_ISLAND_COUNT = 26 —- 2D物理引擎中的岛屿数量。
PHYSICS_3D_ACTIVE_OBJECTS = 27 —- 游戏中活动的 RigidBody 和 VehicleBody 节点的数量。
PHYSICS_3D_COLLISION_PAIRS = 28 —- 3D物理引擎中的碰撞对数量。
PHYSICS_3D_ISLAND_COUNT = 29 —- 3D物理引擎中的岛屿数量。
AUDIO_OUTPUT_LATENCY = 30 —- AudioServer的输出延迟。
MONITOR_MAX = 31 —- 表示Monitor enum的大小。
方法说明
返回一个可用监视器的值。你应该提供一个Monitor常量作为参数,像这样:
print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the console