From 6631f66c2a9d54dc80d57df60376c84ce1252d08 Mon Sep 17 00:00:00 2001 From: reduz Date: Sat, 17 Jul 2021 18:22:52 -0300 Subject: Optimize StringName usage * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor. --- servers/xr_server.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'servers/xr_server.cpp') diff --git a/servers/xr_server.cpp b/servers/xr_server.cpp index b12fff319d..c27656047f 100644 --- a/servers/xr_server.cpp +++ b/servers/xr_server.cpp @@ -164,7 +164,7 @@ void XRServer::add_interface(const Ref &p_interface) { }; interfaces.push_back(p_interface); - emit_signal("interface_added", p_interface->get_name()); + emit_signal(SNAME("interface_added"), p_interface->get_name()); }; void XRServer::remove_interface(const Ref &p_interface) { @@ -182,7 +182,7 @@ void XRServer::remove_interface(const Ref &p_interface) { print_verbose("XR: Removed interface" + p_interface->get_name()); - emit_signal("interface_removed", p_interface->get_name()); + emit_signal(SNAME("interface_removed"), p_interface->get_name()); interfaces.remove(idx); }; @@ -269,7 +269,7 @@ void XRServer::add_tracker(Ref p_tracker) { ERR_FAIL_COND(p_tracker.is_null()); trackers.push_back(p_tracker); - emit_signal("tracker_added", p_tracker->get_tracker_name(), p_tracker->get_tracker_type(), p_tracker->get_tracker_id()); + emit_signal(SNAME("tracker_added"), p_tracker->get_tracker_name(), p_tracker->get_tracker_type(), p_tracker->get_tracker_id()); }; void XRServer::remove_tracker(Ref p_tracker) { @@ -285,7 +285,7 @@ void XRServer::remove_tracker(Ref p_tracker) { ERR_FAIL_COND(idx == -1); - emit_signal("tracker_removed", p_tracker->get_tracker_name(), p_tracker->get_tracker_type(), p_tracker->get_tracker_id()); + emit_signal(SNAME("tracker_removed"), p_tracker->get_tracker_name(), p_tracker->get_tracker_type(), p_tracker->get_tracker_id()); trackers.remove(idx); }; -- cgit v1.2.3