godot/doc/classes/Performance.xml
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00

124 lines
5.7 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Performance" inherits="Object" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Exposes performance-related data.
</brief_description>
<description>
This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS. These are the same as the values displayed in the [b]Monitor[/b] tab in the editor's [b]Debugger[/b] panel. By using the [method get_monitor] method of this class, you can access this data from your code.
[b]Note:[/b] A few of these monitors are only available in debug mode and will always return 0 when used in a release build.
[b]Note:[/b] Many of these monitors are not updated in real-time, so there may be a short delay between changes.
</description>
<tutorials>
</tutorials>
<methods>
<method name="get_monitor" qualifiers="const">
<return type="float" />
<argument index="0" name="monitor" type="int" enum="Performance.Monitor" />
<description>
Returns the value of one of the available monitors. You should provide one of the [enum Monitor] constants as the argument, like this:
[codeblock]
print(Performance.get_monitor(Performance.TIME_FPS)) # Prints the FPS to the console
[/codeblock]
</description>
</method>
</methods>
<constants>
<constant name="TIME_FPS" value="0" enum="Monitor">
Number of frames per second.
</constant>
<constant name="TIME_PROCESS" value="1" enum="Monitor">
Time it took to complete one frame, in seconds.
</constant>
<constant name="TIME_PHYSICS_PROCESS" value="2" enum="Monitor">
Time it took to complete one physics frame, in seconds.
</constant>
<constant name="MEMORY_STATIC" value="3" enum="Monitor">
Static memory currently used, in bytes. Not available in release builds.
</constant>
<constant name="MEMORY_DYNAMIC" value="4" enum="Monitor">
Dynamic memory currently used, in bytes. Not available in release builds.
</constant>
<constant name="MEMORY_STATIC_MAX" value="5" enum="Monitor">
Available static memory. Not available in release builds.
</constant>
<constant name="MEMORY_DYNAMIC_MAX" value="6" enum="Monitor">
Available dynamic memory. Not available in release builds.
</constant>
<constant name="MEMORY_MESSAGE_BUFFER_MAX" value="7" enum="Monitor">
Largest amount of memory the message queue buffer has used, in bytes. The message queue is used for deferred functions calls and notifications.
</constant>
<constant name="OBJECT_COUNT" value="8" enum="Monitor">
Number of objects currently instanced (including nodes).
</constant>
<constant name="OBJECT_RESOURCE_COUNT" value="9" enum="Monitor">
Number of resources currently used.
</constant>
<constant name="OBJECT_NODE_COUNT" value="10" enum="Monitor">
Number of nodes currently instanced in the scene tree. This also includes the root node.
</constant>
<constant name="OBJECT_ORPHAN_NODE_COUNT" value="11" enum="Monitor">
Number of orphan nodes, i.e. nodes which are not parented to a node of the scene tree.
</constant>
<constant name="RENDER_OBJECTS_IN_FRAME" value="12" enum="Monitor">
3D objects drawn per frame.
</constant>
<constant name="RENDER_VERTICES_IN_FRAME" value="13" enum="Monitor">
Vertices drawn per frame. 3D only.
</constant>
<constant name="RENDER_MATERIAL_CHANGES_IN_FRAME" value="14" enum="Monitor">
Material changes per frame. 3D only.
</constant>
<constant name="RENDER_SHADER_CHANGES_IN_FRAME" value="15" enum="Monitor">
Shader changes per frame. 3D only.
</constant>
<constant name="RENDER_SURFACE_CHANGES_IN_FRAME" value="16" enum="Monitor">
Render surface changes per frame. 3D only.
</constant>
<constant name="RENDER_DRAW_CALLS_IN_FRAME" value="17" enum="Monitor">
Draw calls per frame. 3D only.
</constant>
<constant name="RENDER_2D_ITEMS_IN_FRAME" value="18" enum="Monitor">
Items or joined items drawn per frame.
</constant>
<constant name="RENDER_2D_DRAW_CALLS_IN_FRAME" value="19" enum="Monitor">
Draw calls per frame.
</constant>
<constant name="RENDER_VIDEO_MEM_USED" value="20" enum="Monitor">
The amount of video memory used, i.e. texture and vertex memory combined.
</constant>
<constant name="RENDER_TEXTURE_MEM_USED" value="21" enum="Monitor">
The amount of texture memory used.
</constant>
<constant name="RENDER_VERTEX_MEM_USED" value="22" enum="Monitor">
The amount of vertex memory used.
</constant>
<constant name="RENDER_USAGE_VIDEO_MEM_TOTAL" value="23" enum="Monitor">
Unimplemented in the GLES2 and GLES3 rendering backends, always returns 0.
</constant>
<constant name="PHYSICS_2D_ACTIVE_OBJECTS" value="24" enum="Monitor">
Number of active [RigidBody2D] nodes in the game.
</constant>
<constant name="PHYSICS_2D_COLLISION_PAIRS" value="25" enum="Monitor">
Number of collision pairs in the 2D physics engine.
</constant>
<constant name="PHYSICS_2D_ISLAND_COUNT" value="26" enum="Monitor">
Number of islands in the 2D physics engine.
</constant>
<constant name="PHYSICS_3D_ACTIVE_OBJECTS" value="27" enum="Monitor">
Number of active [RigidBody] and [VehicleBody] nodes in the game.
</constant>
<constant name="PHYSICS_3D_COLLISION_PAIRS" value="28" enum="Monitor">
Number of collision pairs in the 3D physics engine.
</constant>
<constant name="PHYSICS_3D_ISLAND_COUNT" value="29" enum="Monitor">
Number of islands in the 3D physics engine.
</constant>
<constant name="AUDIO_OUTPUT_LATENCY" value="30" enum="Monitor">
Output latency of the [AudioServer].
</constant>
<constant name="MONITOR_MAX" value="31" enum="Monitor">
Represents the size of the [enum Monitor] enum.
</constant>
</constants>
</class>