From 9d41e2223dba453864a481eb1f433e4b90d96e47 Mon Sep 17 00:00:00 2001 From: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com> Date: Sat, 6 Feb 2021 09:30:41 +0800 Subject: [PATCH] Implement dynamic sleep time (#1459) * Dynamic sleep time * Small code refactor in dynamic sleep time Co-authored-by: ORelio --- MinecraftClient/Protocol/Handlers/Protocol18.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 6c7b43c0..2918c0d1 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -151,11 +151,18 @@ namespace MinecraftClient.Protocol.Handlers { try { - do + bool keepUpdating = true; + Stopwatch stopWatch = new Stopwatch(); + while (keepUpdating) { - Thread.Sleep(100); + stopWatch.Start(); + keepUpdating = Update(); + stopWatch.Stop(); + int elapsed = stopWatch.Elapsed.Milliseconds; + stopWatch.Reset(); + if (elapsed < 100) + Thread.Sleep(100 - elapsed); } - while (Update()); } catch (System.IO.IOException) { } catch (SocketException) { }