2
0
Эх сурвалжийг харах

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

[Net] Make debugger peer less CPU intensive.
Rémi Verschelde 4 жил өмнө
parent
commit
97ce8708e8

+ 6 - 1
core/debugger/remote_debugger_peer.cpp

@@ -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);
+		}
 	}
 	}
 }
 }