Use doubles for time in many other places
This commit is contained in:
@ -83,14 +83,14 @@ struct DebuggerMarshalls {
|
||||
StringName name;
|
||||
int sig_id = -1;
|
||||
int call_count = 0;
|
||||
float self_time = 0;
|
||||
float total_time = 0;
|
||||
double self_time = 0;
|
||||
double total_time = 0;
|
||||
};
|
||||
|
||||
// Servers profiler
|
||||
struct ServerFunctionInfo {
|
||||
StringName name;
|
||||
float time = 0;
|
||||
double time = 0;
|
||||
};
|
||||
|
||||
struct ServerInfo {
|
||||
@ -100,11 +100,11 @@ struct DebuggerMarshalls {
|
||||
|
||||
struct ServersProfilerFrame {
|
||||
int frame_number = 0;
|
||||
float frame_time = 0;
|
||||
float idle_time = 0;
|
||||
float physics_time = 0;
|
||||
float physics_frame_time = 0;
|
||||
float script_time = 0;
|
||||
double frame_time = 0;
|
||||
double idle_time = 0;
|
||||
double physics_time = 0;
|
||||
double physics_frame_time = 0;
|
||||
double script_time = 0;
|
||||
List<ServerInfo> servers;
|
||||
Vector<ScriptFunctionInfo> script_functions;
|
||||
|
||||
|
||||
@ -117,7 +117,7 @@ void EngineDebugger::line_poll() {
|
||||
poll_every++;
|
||||
}
|
||||
|
||||
void EngineDebugger::iteration(uint64_t p_frame_ticks, uint64_t p_process_ticks, uint64_t p_physics_ticks, float p_physics_frame_time) {
|
||||
void EngineDebugger::iteration(uint64_t p_frame_ticks, uint64_t p_process_ticks, uint64_t p_physics_ticks, double p_physics_frame_time) {
|
||||
frame_time = USEC_TO_SEC(p_frame_ticks);
|
||||
process_time = USEC_TO_SEC(p_process_ticks);
|
||||
physics_time = USEC_TO_SEC(p_physics_ticks);
|
||||
|
||||
@ -44,7 +44,7 @@ class ScriptDebugger;
|
||||
class EngineDebugger {
|
||||
public:
|
||||
typedef void (*ProfilingToggle)(void *p_user, bool p_enable, const Array &p_opts);
|
||||
typedef void (*ProfilingTick)(void *p_user, float p_frame_time, float p_process_time, float p_physics_time, float p_physics_frame_time);
|
||||
typedef void (*ProfilingTick)(void *p_user, double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time);
|
||||
typedef void (*ProfilingAdd)(void *p_user, const Array &p_arr);
|
||||
|
||||
typedef Error (*CaptureFunc)(void *p_user, const String &p_msg, const Array &p_args, bool &r_captured);
|
||||
@ -85,10 +85,10 @@ public:
|
||||
};
|
||||
|
||||
private:
|
||||
float frame_time = 0.0;
|
||||
float process_time = 0.0;
|
||||
float physics_time = 0.0;
|
||||
float physics_frame_time = 0.0;
|
||||
double frame_time = 0.0;
|
||||
double process_time = 0.0;
|
||||
double physics_time = 0.0;
|
||||
double physics_frame_time = 0.0;
|
||||
|
||||
uint32_t poll_every = 0;
|
||||
|
||||
@ -120,7 +120,7 @@ public:
|
||||
|
||||
static void register_uri_handler(const String &p_protocol, CreatePeerFunc p_func);
|
||||
|
||||
void iteration(uint64_t p_frame_ticks, uint64_t p_process_ticks, uint64_t p_physics_ticks, float p_physics_frame_time);
|
||||
void iteration(uint64_t p_frame_ticks, uint64_t p_process_ticks, uint64_t p_physics_ticks, double p_physics_frame_time);
|
||||
void profiler_enable(const StringName &p_name, bool p_enabled, const Array &p_opts = Array());
|
||||
Error capture_parse(const StringName &p_name, const String &p_msg, const Array &p_args, bool &r_captured);
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ struct LocalDebugger::ScriptsProfiler {
|
||||
}
|
||||
};
|
||||
|
||||
float frame_time = 0;
|
||||
double frame_time = 0;
|
||||
uint64_t idle_accum = 0;
|
||||
Vector<ScriptLanguage::ProfilingInfo> pinfo;
|
||||
|
||||
@ -61,7 +61,7 @@ struct LocalDebugger::ScriptsProfiler {
|
||||
}
|
||||
}
|
||||
|
||||
void tick(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
void tick(double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
frame_time = p_frame_time;
|
||||
_print_frame_data(false);
|
||||
}
|
||||
@ -92,8 +92,8 @@ struct LocalDebugger::ScriptsProfiler {
|
||||
for (int i = 0; i < ofs; i++) {
|
||||
script_time_us += pinfo[i].self_time;
|
||||
}
|
||||
float script_time = USEC_TO_SEC(script_time_us);
|
||||
float total_time = p_accumulated ? script_time : frame_time;
|
||||
double script_time = USEC_TO_SEC(script_time_us);
|
||||
double total_time = p_accumulated ? script_time : frame_time;
|
||||
|
||||
if (!p_accumulated) {
|
||||
print_line("FRAME: total: " + rtos(total_time) + " script: " + rtos(script_time) + "/" + itos(script_time * 100 / total_time) + " %");
|
||||
@ -103,8 +103,8 @@ struct LocalDebugger::ScriptsProfiler {
|
||||
|
||||
for (int i = 0; i < ofs; i++) {
|
||||
print_line(itos(i) + ":" + pinfo[i].signature);
|
||||
float tt = USEC_TO_SEC(pinfo[i].total_time);
|
||||
float st = USEC_TO_SEC(pinfo[i].self_time);
|
||||
double tt = USEC_TO_SEC(pinfo[i].total_time);
|
||||
double st = USEC_TO_SEC(pinfo[i].self_time);
|
||||
print_line("\ttotal: " + rtos(tt) + "/" + itos(tt * 100 / total_time) + " % \tself: " + rtos(st) + "/" + itos(st * 100 / total_time) + " % tcalls: " + itos(pinfo[i].call_count));
|
||||
}
|
||||
}
|
||||
@ -373,7 +373,7 @@ LocalDebugger::LocalDebugger() {
|
||||
((ScriptsProfiler *)p_user)->toggle(p_enable, p_opts);
|
||||
},
|
||||
nullptr,
|
||||
[](void *p_user, float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
((ScriptsProfiler *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
||||
});
|
||||
register_profiler("scripts", scr_prof);
|
||||
|
||||
@ -50,7 +50,7 @@ void RemoteDebugger::_bind_profiler(const String &p_name, T *p_prof) {
|
||||
[](void *p_user, const Array &p_data) {
|
||||
((T *)p_user)->add(p_data);
|
||||
},
|
||||
[](void *p_user, float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
[](void *p_user, double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
((T *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
|
||||
});
|
||||
EngineDebugger::register_profiler(p_name, prof);
|
||||
@ -164,7 +164,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void tick(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
void tick(double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
uint64_t pt = OS::get_singleton()->get_ticks_msec();
|
||||
if (pt - last_bandwidth_time > 200) {
|
||||
last_bandwidth_time = pt;
|
||||
@ -278,10 +278,10 @@ struct RemoteDebugger::ServersProfiler {
|
||||
Map<StringName, ServerInfo> server_data;
|
||||
ScriptsProfiler scripts_profiler;
|
||||
|
||||
float frame_time = 0;
|
||||
float idle_time = 0;
|
||||
float physics_time = 0;
|
||||
float physics_frame_time = 0;
|
||||
double frame_time = 0;
|
||||
double idle_time = 0;
|
||||
double physics_time = 0;
|
||||
double physics_frame_time = 0;
|
||||
|
||||
void toggle(bool p_enable, const Array &p_opts) {
|
||||
skip_profile_frame = false;
|
||||
@ -308,7 +308,7 @@ struct RemoteDebugger::ServersProfiler {
|
||||
srv.functions.push_back(fi);
|
||||
}
|
||||
|
||||
void tick(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
void tick(double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
frame_time = p_frame_time;
|
||||
idle_time = p_idle_time;
|
||||
physics_time = p_physics_time;
|
||||
@ -358,7 +358,7 @@ struct RemoteDebugger::VisualProfiler {
|
||||
|
||||
void add(const Array &p_data) {}
|
||||
|
||||
void tick(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
void tick(double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
Vector<RS::FrameProfileArea> profile_areas = RS::get_singleton()->get_frame_profile();
|
||||
DebuggerMarshalls::VisualProfilerFrame frame;
|
||||
if (!profile_areas.size()) {
|
||||
@ -378,7 +378,7 @@ struct RemoteDebugger::PerformanceProfiler {
|
||||
|
||||
void toggle(bool p_enable, const Array &p_opts) {}
|
||||
void add(const Array &p_data) {}
|
||||
void tick(float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
|
||||
void tick(double p_frame_time, double p_idle_time, double p_physics_time, double p_physics_frame_time) {
|
||||
if (!performance) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user