From d5c98bf2df2baff4ed048c35d903424b8e1ce2e2 Mon Sep 17 00:00:00 2001 From: Marcos Miller Dantas Date: Mon, 21 Sep 2020 10:04:21 -0300 Subject: Performance tuning on an old laptop i've noticed that the thread was consuming alot of resources. --- src/SMAPI/Framework/Logging/LogManager.cs | 14 +++++++------- src/SMAPI/Framework/SCore.cs | 7 ++++--- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/SMAPI/Framework/Logging/LogManager.cs b/src/SMAPI/Framework/Logging/LogManager.cs index 094dd749..d83a5c0b 100644 --- a/src/SMAPI/Framework/Logging/LogManager.cs +++ b/src/SMAPI/Framework/Logging/LogManager.cs @@ -138,15 +138,15 @@ namespace StardewModdingAPI.Framework.Logging Thread inputThread = new Thread(() => { while (true) - { + { // get input - string input = Console.ReadLine(); - if (string.IsNullOrWhiteSpace(input)) - continue; + string input = Console.ReadLine(); + if (string.IsNullOrWhiteSpace(input)) + continue; - // handle command - this.Monitor.LogUserInput(input); - handleInput(input); + // handle command + this.Monitor.LogUserInput(input); + handleInput(input); } }); inputThread.Start(); diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs index e64c2801..e2a9463b 100644 --- a/src/SMAPI/Framework/SCore.cs +++ b/src/SMAPI/Framework/SCore.cs @@ -278,15 +278,16 @@ namespace StardewModdingAPI.Framework ); // add exit handler - new Thread(() => + this.CancellationToken.Token.Register(() => { - this.CancellationToken.Token.WaitHandle.WaitOne(); if (this.IsGameRunning) { + this.inputThread.Abort(); this.LogManager.WriteCrashLog(); this.Game.Exit(); } - }).Start(); + }); + // set window titles this.SetWindowTitles( -- cgit