From f8ba0b8bf7ef50d323a53e0999ac8b28e0ac5a70 Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Thu, 29 Oct 2020 16:46:22 +0100 Subject: [PATCH] - improve performance when changing the widget - move trigger process.read when changing the number of top processes to the background --- ModuleKit/module.swift | 5 ++++- Modules/Battery/main.swift | 4 +++- Modules/CPU/main.swift | 4 +++- Modules/Memory/main.swift | 4 +++- Modules/Net/main.swift | 4 +++- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ModuleKit/module.swift b/ModuleKit/module.swift index ecc3a301..796b2c60 100644 --- a/ModuleKit/module.swift +++ b/ModuleKit/module.swift @@ -279,7 +279,10 @@ open class Module: Module_p { self?.widgetWidthHandler(value) } - self.readers.forEach{ $0.read() } + DispatchQueue.global(qos: .background).async { + self.readers.forEach{ $0.read() } + } + if let mainReader = self.readers.first(where: { !$0.optional }) { self.widget?.setValues(mainReader.getHistory()) } diff --git a/Modules/Battery/main.swift b/Modules/Battery/main.swift index 631b249f..34414cd8 100644 --- a/Modules/Battery/main.swift +++ b/Modules/Battery/main.swift @@ -66,7 +66,9 @@ public class Battery: Module { self.settingsView.callbackWhenUpdateNumberOfProcesses = { self.popupView.numberOfProcessesUpdated() - self.processReader?.read() + DispatchQueue.global(qos: .background).async { + self.processReader?.read() + } } self.usageReader?.readyCallback = { [unowned self] in diff --git a/Modules/CPU/main.swift b/Modules/CPU/main.swift index a6f46e91..ac759d03 100644 --- a/Modules/CPU/main.swift +++ b/Modules/CPU/main.swift @@ -71,7 +71,9 @@ public class CPU: Module { } self.settingsView.callbackWhenUpdateNumberOfProcesses = { self.popupView.numberOfProcessesUpdated() - self.processReader?.read() + DispatchQueue.global(qos: .background).async { + self.processReader?.read() + } } self.settingsView.setInterval = { [unowned self] value in self.loadReader?.setInterval(value) diff --git a/Modules/Memory/main.swift b/Modules/Memory/main.swift index 90c1cc5e..c57e95e0 100644 --- a/Modules/Memory/main.swift +++ b/Modules/Memory/main.swift @@ -60,7 +60,9 @@ public class Memory: Module { self.settingsView.callbackWhenUpdateNumberOfProcesses = { self.popupView.numberOfProcessesUpdated() - self.processReader?.read() + DispatchQueue.global(qos: .background).async { + self.processReader?.read() + } } self.usageReader?.readyCallback = { [unowned self] in diff --git a/Modules/Net/main.swift b/Modules/Net/main.swift index 2be72ffb..8b68952e 100644 --- a/Modules/Net/main.swift +++ b/Modules/Net/main.swift @@ -91,7 +91,9 @@ public class Network: Module { self.settingsView.callbackWhenUpdateNumberOfProcesses = { self.popupView.numberOfProcessesUpdated() - self.processReader?.read() + DispatchQueue.global(qos: .background).async { + self.processReader?.read() + } } self.usageReader?.readyCallback = { [unowned self] in