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

Merge pull request #47076 from Faless/debugger/4.x_remote_peer_backoff

[Net] Make debugger peer less CPU intensive.
This commit is contained in:
Rémi Verschelde
2021-03-16 22:14:21 +01:00
committed by GitHub

View File

@@ -190,13 +190,18 @@ Error RemoteDebuggerPeerTCP::connect_to_host(const String &p_host, uint16_t p_po
} }
void RemoteDebuggerPeerTCP::_thread_func(void *p_ud) { void RemoteDebuggerPeerTCP::_thread_func(void *p_ud) {
const uint64_t min_tick = 100;
RemoteDebuggerPeerTCP *peer = (RemoteDebuggerPeerTCP *)p_ud; RemoteDebuggerPeerTCP *peer = (RemoteDebuggerPeerTCP *)p_ud;
while (peer->running && peer->is_peer_connected()) { while (peer->running && peer->is_peer_connected()) {
uint64_t ticks_usec = OS::get_singleton()->get_ticks_usec();
peer->_poll(); peer->_poll();
if (!peer->is_peer_connected()) { if (!peer->is_peer_connected()) {
break; break;
} }
peer->tcp_client->poll(NetSocket::POLL_TYPE_IN_OUT, 1); ticks_usec = OS::get_singleton()->get_ticks_usec() - ticks_usec;
if (ticks_usec < min_tick) {
OS::get_singleton()->delay_usec(min_tick - ticks_usec);
}
} }
} }