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

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.
This commit is contained in:
reduz
2021-07-17 18:22:52 -03:00
parent b76dfde329
commit 6631f66c2a
236 changed files with 3694 additions and 3670 deletions

View File

@@ -137,7 +137,7 @@ void WebSocketServer::_on_peer_packet(int32_t p_peer_id) {
if (_is_multiplayer) {
_process_multiplayer(get_peer(p_peer_id), p_peer_id);
} else {
emit_signal("data_received", p_peer_id);
emit_signal(SNAME("data_received"), p_peer_id);
}
}
@@ -145,9 +145,9 @@ void WebSocketServer::_on_connect(int32_t p_peer_id, String p_protocol, String p
if (_is_multiplayer) {
// Send add to clients
_send_add(p_peer_id);
emit_signal("peer_connected", p_peer_id);
emit_signal(SNAME("peer_connected"), p_peer_id);
} else {
emit_signal("client_connected", p_peer_id, p_protocol, p_resource_name);
emit_signal(SNAME("client_connected"), p_peer_id, p_protocol, p_resource_name);
}
}
@@ -155,12 +155,12 @@ void WebSocketServer::_on_disconnect(int32_t p_peer_id, bool p_was_clean) {
if (_is_multiplayer) {
// Send delete to clients
_send_del(p_peer_id);
emit_signal("peer_disconnected", p_peer_id);
emit_signal(SNAME("peer_disconnected"), p_peer_id);
} else {
emit_signal("client_disconnected", p_peer_id, p_was_clean);
emit_signal(SNAME("client_disconnected"), p_peer_id, p_was_clean);
}
}
void WebSocketServer::_on_close_request(int32_t p_peer_id, int p_code, String p_reason) {
emit_signal("client_close_request", p_peer_id, p_code, p_reason);
emit_signal(SNAME("client_close_request"), p_peer_id, p_code, p_reason);
}