Merge pull request #51979 from godotengine/revert-41850-cumulative-time_issue_6999

Revert "Add Node processing and physics processing cumulative (as opposed to delta) time"
This commit is contained in:
Juan Linietsky 2021-08-22 08:22:10 -03:00 committed by GitHub
commit 2a5c64f2a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 2 additions and 80 deletions

View file

@ -322,42 +322,18 @@
Returns the relative [NodePath] from this node to the specified [code]node[/code]. Both nodes must be in the same scene or the function will fail. Returns the relative [NodePath] from this node to the specified [code]node[/code]. Both nodes must be in the same scene or the function will fail.
</description> </description>
</method> </method>
<method name="get_physics_process_cumulative_time" qualifiers="const">
<return type="float" />
<description>
Returns the cumulative physics-bound frame time elapsed (in seconds) since this node has been active and running (i.e. not paused) in the current scene tree.
</description>
</method>
<method name="get_physics_process_delta_time" qualifiers="const"> <method name="get_physics_process_delta_time" qualifiers="const">
<return type="float" /> <return type="float" />
<description> <description>
Returns the time elapsed (in seconds) since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.physics_ticks_per_second]. Returns the time elapsed (in seconds) since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.physics_ticks_per_second].
</description> </description>
</method> </method>
<method name="get_physics_process_total_time" qualifiers="const">
<return type="float" />
<description>
Returns the total time elapsed (in seconds) since this node has been part of the current scene tree regardless of the pause state.
</description>
</method>
<method name="get_process_cumulative_time" qualifiers="const">
<return type="float" />
<description>
Returns the cumulative time elapsed (in seconds) since this node has been active and running (i.e. not paused) in the current tree.
</description>
</method>
<method name="get_process_delta_time" qualifiers="const"> <method name="get_process_delta_time" qualifiers="const">
<return type="float" /> <return type="float" />
<description> <description>
Returns the time elapsed (in seconds) since the last process callback. This value may vary from frame to frame. Returns the time elapsed (in seconds) since the last process callback. This value may vary from frame to frame.
</description> </description>
</method> </method>
<method name="get_process_total_time" qualifiers="const">
<return type="float" />
<description>
Returns the total time elapsed (in seconds) since this node has been part of the current scene tree regardless of the pause state.
</description>
</method>
<method name="get_scene_instance_load_placeholder" qualifiers="const"> <method name="get_scene_instance_load_placeholder" qualifiers="const">
<return type="bool" /> <return type="bool" />
<description> <description>

View file

@ -55,17 +55,13 @@ void Node::_notification(int p_notification) {
switch (p_notification) { switch (p_notification) {
case NOTIFICATION_PROCESS: { case NOTIFICATION_PROCESS: {
if (get_script_instance()) { if (get_script_instance()) {
double d_time = get_process_delta_time(); Variant time = get_process_delta_time();
data.process_cumulative_time += d_time;
Variant time = d_time;
get_script_instance()->call(SceneStringNames::get_singleton()->_process, time); get_script_instance()->call(SceneStringNames::get_singleton()->_process, time);
} }
} break; } break;
case NOTIFICATION_PHYSICS_PROCESS: { case NOTIFICATION_PHYSICS_PROCESS: {
if (get_script_instance()) { if (get_script_instance()) {
double d_time = get_physics_process_delta_time(); Variant time = get_physics_process_delta_time();
data.physics_process_cumulative_time += d_time;
Variant time = d_time;
get_script_instance()->call(SceneStringNames::get_singleton()->_physics_process, time); get_script_instance()->call(SceneStringNames::get_singleton()->_physics_process, time);
} }
@ -724,22 +720,6 @@ double Node::get_physics_process_delta_time() const {
} }
} }
double Node::get_physics_process_cumulative_time() const {
if (data.tree) {
return data.physics_process_cumulative_time;
} else {
return 0;
}
}
double Node::get_physics_process_total_time() const {
if (data.tree) {
return data.tree->get_physics_total_time();
} else {
return 0;
}
}
double Node::get_process_delta_time() const { double Node::get_process_delta_time() const {
if (data.tree) { if (data.tree) {
return data.tree->get_process_time(); return data.tree->get_process_time();
@ -766,22 +746,6 @@ bool Node::is_processing() const {
return data.process; return data.process;
} }
double Node::get_process_cumulative_time() const {
if (data.tree) {
return data.process_cumulative_time;
} else {
return 0;
}
}
double Node::get_process_total_time() const {
if (data.tree) {
return data.tree->get_process_total_time();
} else {
return 0;
}
}
void Node::set_process_internal(bool p_process_internal) { void Node::set_process_internal(bool p_process_internal) {
if (data.process_internal == p_process_internal) { if (data.process_internal == p_process_internal) {
return; return;
@ -2627,12 +2591,8 @@ void Node::_bind_methods() {
ClassDB::bind_method(D_METHOD("propagate_call", "method", "args", "parent_first"), &Node::propagate_call, DEFVAL(Array()), DEFVAL(false)); ClassDB::bind_method(D_METHOD("propagate_call", "method", "args", "parent_first"), &Node::propagate_call, DEFVAL(Array()), DEFVAL(false));
ClassDB::bind_method(D_METHOD("set_physics_process", "enable"), &Node::set_physics_process); ClassDB::bind_method(D_METHOD("set_physics_process", "enable"), &Node::set_physics_process);
ClassDB::bind_method(D_METHOD("get_physics_process_delta_time"), &Node::get_physics_process_delta_time); ClassDB::bind_method(D_METHOD("get_physics_process_delta_time"), &Node::get_physics_process_delta_time);
ClassDB::bind_method(D_METHOD("get_physics_process_cumulative_time"), &Node::get_physics_process_cumulative_time);
ClassDB::bind_method(D_METHOD("get_physics_process_total_time"), &Node::get_physics_process_total_time);
ClassDB::bind_method(D_METHOD("is_physics_processing"), &Node::is_physics_processing); ClassDB::bind_method(D_METHOD("is_physics_processing"), &Node::is_physics_processing);
ClassDB::bind_method(D_METHOD("get_process_delta_time"), &Node::get_process_delta_time); ClassDB::bind_method(D_METHOD("get_process_delta_time"), &Node::get_process_delta_time);
ClassDB::bind_method(D_METHOD("get_process_cumulative_time"), &Node::get_process_cumulative_time);
ClassDB::bind_method(D_METHOD("get_process_total_time"), &Node::get_process_total_time);
ClassDB::bind_method(D_METHOD("set_process", "enable"), &Node::set_process); ClassDB::bind_method(D_METHOD("set_process", "enable"), &Node::set_process);
ClassDB::bind_method(D_METHOD("set_process_priority", "priority"), &Node::set_process_priority); ClassDB::bind_method(D_METHOD("set_process_priority", "priority"), &Node::set_process_priority);
ClassDB::bind_method(D_METHOD("get_process_priority"), &Node::get_process_priority); ClassDB::bind_method(D_METHOD("get_process_priority"), &Node::get_process_priority);

View file

@ -122,9 +122,6 @@ private:
int network_master = 1; // Server by default. int network_master = 1; // Server by default.
Vector<MultiplayerAPI::RPCConfig> rpc_methods; Vector<MultiplayerAPI::RPCConfig> rpc_methods;
double process_cumulative_time = 0.0;
double physics_process_cumulative_time = 0.0;
// Variables used to properly sort the node when processing, ignored otherwise. // Variables used to properly sort the node when processing, ignored otherwise.
// TODO: Should move all the stuff below to bits. // TODO: Should move all the stuff below to bits.
bool physics_process = false; bool physics_process = false;
@ -344,14 +341,10 @@ public:
/* PROCESSING */ /* PROCESSING */
void set_physics_process(bool p_process); void set_physics_process(bool p_process);
double get_physics_process_delta_time() const; double get_physics_process_delta_time() const;
double get_physics_process_cumulative_time() const;
double get_physics_process_total_time() const;
bool is_physics_processing() const; bool is_physics_processing() const;
void set_process(bool p_process); void set_process(bool p_process);
double get_process_delta_time() const; double get_process_delta_time() const;
double get_process_cumulative_time() const;
double get_process_total_time() const;
bool is_processing() const; bool is_processing() const;
void set_physics_process_internal(bool p_process_internal); void set_physics_process_internal(bool p_process_internal);

View file

@ -412,7 +412,6 @@ bool SceneTree::physics_process(double p_time) {
MainLoop::physics_process(p_time); MainLoop::physics_process(p_time);
physics_process_time = p_time; physics_process_time = p_time;
physics_total_time += p_time;
emit_signal(SNAME("physics_frame")); emit_signal(SNAME("physics_frame"));
@ -439,7 +438,6 @@ bool SceneTree::process(double p_time) {
MainLoop::process(p_time); MainLoop::process(p_time);
process_time = p_time; process_time = p_time;
process_total_time += p_time;
if (multiplayer_poll) { if (multiplayer_poll) {
multiplayer->poll(); multiplayer->poll();

View file

@ -92,10 +92,7 @@ private:
uint64_t tree_version = 1; uint64_t tree_version = 1;
double physics_process_time = 1.0; double physics_process_time = 1.0;
double physics_total_time = 0.0;
double process_total_time = 0.0;
double process_time = 1.0; double process_time = 1.0;
bool accept_quit = true; bool accept_quit = true;
bool quit_on_go_back = true; bool quit_on_go_back = true;
@ -251,9 +248,7 @@ public:
void quit(int p_exit_code = EXIT_SUCCESS); void quit(int p_exit_code = EXIT_SUCCESS);
_FORCE_INLINE_ double get_physics_process_time() const { return physics_process_time; } _FORCE_INLINE_ double get_physics_process_time() const { return physics_process_time; }
_FORCE_INLINE_ double get_physics_total_time() const { return physics_total_time; }
_FORCE_INLINE_ double get_process_time() const { return process_time; } _FORCE_INLINE_ double get_process_time() const { return process_time; }
_FORCE_INLINE_ double get_process_total_time() const { return process_total_time; }
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
bool is_node_being_edited(const Node *p_node) const; bool is_node_being_edited(const Node *p_node) const;