24class DebugDraw3DStats : public RefCounted {
25 GDCLASS(DebugDraw3DStats, RefCounted)
29 static void _bind_methods();
31#define DEFINE_DEFAULT_PROP(name, type, def) \
36 type get_##name() const { return name; } \
37 void set_##name(int64_t val) {}
39 DEFINE_DEFAULT_PROP(instances, int64_t, 0);
40 DEFINE_DEFAULT_PROP(lines, int64_t, 0);
41 DEFINE_DEFAULT_PROP(instances_physics, int64_t, 0);
42 DEFINE_DEFAULT_PROP(lines_physics, int64_t, 0);
43 DEFINE_DEFAULT_PROP(total_geometry, int64_t, 0);
45 DEFINE_DEFAULT_PROP(visible_instances, int64_t, 0);
46 DEFINE_DEFAULT_PROP(visible_lines, int64_t, 0);
47 DEFINE_DEFAULT_PROP(total_visible, int64_t, 0);
49 DEFINE_DEFAULT_PROP(time_filling_buffers_instances_usec, int64_t, 0);
50 DEFINE_DEFAULT_PROP(time_filling_buffers_lines_usec, int64_t, 0);
51 DEFINE_DEFAULT_PROP(time_filling_buffers_instances_physics_usec, int64_t, 0);
52 DEFINE_DEFAULT_PROP(time_filling_buffers_lines_physics_usec, int64_t, 0);
53 DEFINE_DEFAULT_PROP(total_time_filling_buffers_usec, int64_t, 0);
55 DEFINE_DEFAULT_PROP(time_culling_instances_usec, int64_t, 0);
56 DEFINE_DEFAULT_PROP(time_culling_lines_usec, int64_t, 0);
57 DEFINE_DEFAULT_PROP(total_time_culling_usec, int64_t, 0);
59 DEFINE_DEFAULT_PROP(total_time_spent_usec, int64_t, 0);
61 DEFINE_DEFAULT_PROP(created_scoped_configs, int64_t, 0);
62 DEFINE_DEFAULT_PROP(orphan_scoped_configs, int64_t, 0);
64 DEFINE_DEFAULT_PROP(nodes_label3d_visible, int64_t, 0);
65 DEFINE_DEFAULT_PROP(nodes_label3d_visible_physics, int64_t, 0);
66 DEFINE_DEFAULT_PROP(nodes_label3d_exists, int64_t, 0);
67 DEFINE_DEFAULT_PROP(nodes_label3d_exists_physics, int64_t, 0);
68 DEFINE_DEFAULT_PROP(nodes_label3d_exists_total, int64_t, 0);
70#undef DEFINE_DEFAULT_PROP
76 const int64_t &p_nodes_label3d_visible,
77 const int64_t &p_nodes_label3d_visible_physics,
78 const int64_t &p_nodes_label3d_exists,
79 const int64_t &p_nodes_label3d_exists_physics);
82 void set_scoped_config_stats(
83 const int64_t &p_created_scoped_configs,
84 const int64_t &p_orphan_scoped_configs);
87 void set_render_stats(
88 const int64_t &p_instances,
89 const int64_t &p_lines,
90 const int64_t &p_visible_instances,
91 const int64_t &p_visible_lines,
93 const int64_t &p_instances_physics,
94 const int64_t &p_lines_physics,
96 const int64_t &p_time_filling_buffers_instances_usec,
97 const int64_t &p_time_filling_buffers_lines_usec,
98 const int64_t &p_time_culling_instances_usec,
99 const int64_t &p_time_culling_lines_usec);
102 void combine_with(
const Ref<DebugDraw3DStats> p_other);