You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were previously disappearing can be profiled too. This is optional with an editor setting, since collecting more information naturally slows the engine further while profiling. Fixes #23715, #40251, #29049
This commit is contained in:
@@ -758,6 +758,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
|
||||
int calls = frame.script_functions[i].call_count;
|
||||
float total = frame.script_functions[i].total_time;
|
||||
float self = frame.script_functions[i].self_time;
|
||||
float internal = frame.script_functions[i].internal_time;
|
||||
|
||||
EditorProfiler::Metric::Category::Item item;
|
||||
if (profiler_signature.has(signature)) {
|
||||
@@ -782,6 +783,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
|
||||
item.calls = calls;
|
||||
item.self = self;
|
||||
item.total = total;
|
||||
item.internal = internal;
|
||||
funcs.items.write[i] = item;
|
||||
}
|
||||
|
||||
@@ -1097,7 +1099,9 @@ void ScriptEditorDebugger::_profiler_activate(bool p_enable, int p_type) {
|
||||
// Add max funcs options to request.
|
||||
Array opts;
|
||||
int max_funcs = EDITOR_GET("debugger/profiler_frame_max_functions");
|
||||
bool include_native = EDITOR_GET("debugger/profile_native_calls");
|
||||
opts.push_back(CLAMP(max_funcs, 16, 512));
|
||||
opts.push_back(include_native);
|
||||
msg_data.push_back(opts);
|
||||
}
|
||||
_put_msg("profiler:servers", msg_data);
|
||||
|
||||
Reference in New Issue
Block a user