From 90eedf284a65567479daa1efd2d8adbe49edcd93 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Tue, 18 Feb 2020 06:44:56 +0100 Subject: [PATCH] fix small but constant load on idle caused by several timers --- src/u_messages.pas | 5 +++-- src/u_processes.pas | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/u_messages.pas b/src/u_messages.pas index 6a86d9c8..2230b0cc 100644 --- a/src/u_messages.pas +++ b/src/u_messages.pas @@ -422,7 +422,7 @@ begin fMsgColors[amkInf] := $FFD0A8; fMsgColors[amkHint] := $C2FFC2; - updaterByLoopInterval := 12; + updaterByLoopInterval := 200; fOptions := TMessagesOptions.Create(Self); fOptions.assign(self); fOptions.Name:= 'messageOptions'; @@ -993,10 +993,11 @@ procedure TMessagesWidget.updateLoop; begin if fastDisplay then begin + List.BeginUpdate; clearOutOfRangeMessg; scrollToBack; - List.Update; filterMessages(fCtxt); + List.EndUpdate; end; end; diff --git a/src/u_processes.pas b/src/u_processes.pas index f7a13acf..dd22db32 100644 --- a/src/u_processes.pas +++ b/src/u_processes.pas @@ -178,7 +178,7 @@ begin fStdoutEx := TMemoryStream.Create; fStderrEx := TMemoryStream.Create; FTerminateChecker := TTimer.Create(nil); - FTerminateChecker.Interval := 50; + FTerminateChecker.Interval := 200; fTerminateChecker.OnTimer := @checkTerminated; fTerminateChecker.Enabled := false; TAsyncProcess(self).OnTerminate := @internalDoOnTerminate;