mirror of
https://github.com/godotengine/godot.git
synced 2025-11-01 06:01:14 +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:
parent
1f5d4a62e9
commit
f1cc14d525
16 changed files with 191 additions and 57 deletions
|
|
@ -474,6 +474,13 @@ private:
|
|||
uint64_t last_frame_call_count = 0;
|
||||
uint64_t last_frame_self_time = 0;
|
||||
uint64_t last_frame_total_time = 0;
|
||||
typedef struct NativeProfile {
|
||||
uint64_t call_count;
|
||||
uint64_t total_time;
|
||||
String signature;
|
||||
} NativeProfile;
|
||||
HashMap<String, NativeProfile> native_calls;
|
||||
HashMap<String, NativeProfile> last_native_calls;
|
||||
} profile;
|
||||
#endif
|
||||
|
||||
|
|
@ -514,6 +521,7 @@ public:
|
|||
void debug_get_stack_member_state(int p_line, List<Pair<StringName, int>> *r_stackvars) const;
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
void _profile_native_call(uint64_t p_t_taken, const String &p_function_name, const String &p_instance_class_name = String());
|
||||
void disassemble(const Vector<String> &p_code_lines) const;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue