From 332f7fe016b0e077c295557a18b5abc0e595dfa8 Mon Sep 17 00:00:00 2001 From: Danilo Lemes Date: Sun, 26 Jan 2025 14:53:48 +0000 Subject: [PATCH] add 33ms polling rate and move display to style tab --- .../HardwareMonitor/Monitor/MonitorPoller.cs | 2 +- .../target/desktop/ui/settings/Settings.kt | 6 +++--- .../desktop/ui/settings/tabs/AppSettingsUi.kt | 2 +- .../desktop/ui/settings/tabs/stats/StatsUi.kt | 9 --------- .../desktop/ui/settings/tabs/style/StyleUi.kt | 13 +++++++++++++ 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs b/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs index 513eecd..c1d5838 100644 --- a/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs +++ b/HardwareMonitor/HardwareMonitor/Monitor/MonitorPoller.cs @@ -34,7 +34,7 @@ ILogger logger private readonly PresentMonPoller _presentMonPoller = new(logger); private short _pollingRate = 500; - private const short MinimalPollingRate = 50; + private const short MinimalPollingRate = 33; protected override async Task ExecuteAsync(CancellationToken stoppingToken) { diff --git a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/Settings.kt b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/Settings.kt index 232672f..895e39e 100644 --- a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/Settings.kt +++ b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/Settings.kt @@ -199,9 +199,6 @@ private fun TabContent( onCustomSensorSelect = { sensorType, sensorId -> viewModel.onEvent(SettingsEvent.CustomSensorSelect(sensorType, sensorId)) }, - onDisplaySelect = { - viewModel.onEvent(SettingsEvent.DisplaySelect(it)) - }, onFpsApplicationSelect = { viewModel.onEvent(SettingsEvent.FpsApplicationSelect(it)) }, @@ -249,6 +246,9 @@ private fun TabContent( onOpacityChange = { viewModel.onEvent(SettingsEvent.OverlayOpacityChange(it)) }, onGraphTypeChange = { viewModel.onEvent(SettingsEvent.OverlayGraphChange(it)) }, onOverlayCustomPositionEnable = { viewModel.onEvent(SettingsEvent.OverlayCustomPositionEnable(it)) }, + onDisplaySelect = { + viewModel.onEvent(SettingsEvent.DisplaySelect(it)) + }, ) 2 -> AppSettingsUi(overlaySettings = settingsState.overlaySettings!!, onEvent = viewModel::onEvent) diff --git a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/AppSettingsUi.kt b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/AppSettingsUi.kt index 32688fd..92b91b8 100644 --- a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/AppSettingsUi.kt +++ b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/AppSettingsUi.kt @@ -104,7 +104,7 @@ fun AppSettingsUi( } Section(title = "RECORDING") { - val options = listOf("50", "100", "250", "300", "350", "400", "500") + val options = listOf("33", "50", "100", "250", "300", "350", "400", "500") DropdownMenu( label = "Polling Rate:", disclaimer = "The interval in milliseconds the app will update data. Be mindful, this can impact performance!", diff --git a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/stats/StatsUi.kt b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/stats/StatsUi.kt index 42977c9..da3ebe1 100644 --- a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/stats/StatsUi.kt +++ b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/stats/StatsUi.kt @@ -32,7 +32,6 @@ fun StatsUi( onOptionsToggle: (CheckboxSectionOption) -> Unit, onSectionSwitchToggle: (SectionType, Boolean) -> Unit, onCustomSensorSelect: (SensorType, String) -> Unit, - onDisplaySelect: (Int) -> Unit, onFpsApplicationSelect: (String) -> Unit, getCpuSensorReadings: () -> List, getGpuSensorReadings: () -> List, @@ -45,7 +44,6 @@ fun StatsUi( modifier = Modifier.padding(bottom = 8.dp, top = 20.dp).verticalScroll(rememberScrollState()), verticalArrangement = Arrangement.spacedBy(16.dp) ) { - val screenDevices = remember { GraphicsEnvironment.getLocalGraphicsEnvironment().screenDevices } val availableOptions = remember(overlaySettings) { checkboxSectionOptions(overlaySettings) } KeyboardShortcutInfoLabel() @@ -93,13 +91,6 @@ fun StatsUi( getHardwareSensors = getHardwareSensors, ) - DropdownSection( - title = "MONITOR", - options = screenDevices.map { it.defaultConfiguration.device.iDstring }, - selectedIndex = overlaySettings.selectedDisplayIndex, - onValueChanged = { onDisplaySelect(it) } - ) - Text( text = "May your frames be high, and temps be low.", color = LocalColorScheme.current.text.disabled, diff --git a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/style/StyleUi.kt b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/style/StyleUi.kt index 10bebeb..c5faa9c 100644 --- a/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/style/StyleUi.kt +++ b/target/desktop/src/main/kotlin/app/cleanmeter/target/desktop/ui/settings/tabs/style/StyleUi.kt @@ -6,10 +6,13 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import app.cleanmeter.target.desktop.model.OverlaySettings +import app.cleanmeter.target.desktop.ui.components.section.DropdownSection +import java.awt.GraphicsEnvironment @Composable fun StyleUi( @@ -20,11 +23,14 @@ fun StyleUi( onOpacityChange: (Float) -> Unit, onGraphTypeChange: (OverlaySettings.ProgressType) -> Unit, onOverlayCustomPositionEnable: (Boolean) -> Unit, + onDisplaySelect: (Int) -> Unit, getOverlayPosition: () -> IntOffset, ) = Column( modifier = Modifier.padding(bottom = 8.dp, top = 20.dp).verticalScroll(rememberScrollState()), verticalArrangement = Arrangement.spacedBy(16.dp) ) { + val screenDevices = remember { GraphicsEnvironment.getLocalGraphicsEnvironment().screenDevices } + Position( overlaySettings = overlaySettings, onOverlayPositionIndex = onOverlayPositionIndex, @@ -47,4 +53,11 @@ fun StyleUi( overlaySettings = overlaySettings, onGraphTypeChange = onGraphTypeChange ) + + DropdownSection( + title = "MONITOR", + options = screenDevices.map { it.defaultConfiguration.device.iDstring }, + selectedIndex = overlaySettings.selectedDisplayIndex, + onValueChanged = { onDisplaySelect(it) } + ) }