1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-06 17:25:19 +00:00

Add support for profiling GDScript with tracy.

This adds macro `GodotProfileZoneGroupedFirstScript`, and uses interning for speedy lookups.

Co-authored-by: Samuel Nicholas <nicholas.samuel@gmail.com>
This commit is contained in:
Lukas Tenbrink
2025-11-28 15:10:58 +01:00
parent 9dd6c4dbac
commit acefbbbbcd
11 changed files with 201 additions and 1 deletions

View File

@@ -33,6 +33,7 @@
#include "gdscript_lambda_callable.h"
#include "core/os/os.h"
#include "core/profiling/profiling.h"
#ifdef DEBUG_ENABLED
@@ -495,6 +496,8 @@ void (*type_init_function_table[])(Variant *) = {
#define METHOD_CALL_ON_FREED_INSTANCE_ERROR(method_pointer) "Cannot call method '" + (method_pointer)->get_name() + "' on a previously freed instance."
Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_args, int p_argcount, Callable::CallError &r_err, CallState *p_state) {
GodotProfileZoneGroupedFirstScript(zone, this, source, name, _initial_line);
OPCODES_TABLE;
if (!_code_ptr) {