Files
SpdUp/Views/MonitorView.xaml
T
Phil-icyou 19ba425e79 Initial commit: SpdUp Windows Gaming Booster v1.0.0
- .NET 8 WPF app with full MVVM architecture
- One-click boost: CPU, RAM, GPU, network, services, timer resolution
- Real-time system monitor (LibreHardwareMonitor)
- Auto game detection (30+ games)
- RAM optimizer with kernel-level cleanup
- Network optimizer (TCP registry tweaks)
- Service manager, process manager, shader cache cleaner
- Desktop widget overlay
- Debug log viewer
- Custom dark gaming theme with trans pride colors
- 84 unit tests (xUnit)
- Inno Setup installer script
- Landing page website
2026-03-08 17:34:45 +01:00

115 lines
6.2 KiB
XML

<UserControl x:Class="SpdUp.Views.MonitorView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:conv="clr-namespace:SpdUp.Converters">
<UserControl.Resources>
<conv:PercentToColorConverter x:Key="PctColor" />
</UserControl.Resources>
<StackPanel>
<TextBlock Text="Live System Monitoring" FontSize="14" FontWeight="Bold"
Foreground="{StaticResource TextPrimaryBrush}" Margin="0,0,0,16" />
<!-- CPU -->
<Border Style="{StaticResource Card}" Margin="0,0,0,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="CPU" FontSize="14" FontWeight="SemiBold"
Foreground="{StaticResource TextPrimaryBrush}" VerticalAlignment="Center" />
<ProgressBar Grid.Column="1" Height="16" Maximum="100"
Value="{Binding Main.CpuUsage, Mode=OneWay}" Margin="12,0"
Foreground="{Binding Main.CpuUsage, Converter={StaticResource PctColor}}"
Background="{StaticResource BgPanelBrush}" />
<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right"
FontSize="16" FontWeight="Bold"
Foreground="{Binding Main.CpuUsage, Converter={StaticResource PctColor}}"
Text="{Binding Main.CpuUsage, StringFormat={}{0:F1}%}" />
</Grid>
</Border>
<!-- RAM -->
<Border Style="{StaticResource Card}" Margin="0,0,0,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<TextBlock Text="RAM" FontSize="14" FontWeight="SemiBold"
Foreground="{StaticResource TextPrimaryBrush}" />
<TextBlock FontSize="10" Foreground="{StaticResource TextSecondaryBrush}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:F0} / {1:F0} MB">
<Binding Path="Main.RamUsedMB" />
<Binding Path="Main.RamTotalMB" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
<ProgressBar Grid.Column="1" Height="16" Maximum="100"
Value="{Binding Main.RamUsagePercent, Mode=OneWay}" Margin="12,0"
Foreground="{Binding Main.RamUsagePercent, Converter={StaticResource PctColor}}"
Background="{StaticResource BgPanelBrush}" />
<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right"
FontSize="16" FontWeight="Bold"
Foreground="{Binding Main.RamUsagePercent, Converter={StaticResource PctColor}}"
Text="{Binding Main.RamUsagePercent, StringFormat={}{0:F1}%}" />
</Grid>
</Border>
<!-- GPU -->
<Border Style="{StaticResource Card}" Margin="0,0,0,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="GPU" FontSize="14" FontWeight="SemiBold"
Foreground="{StaticResource TextPrimaryBrush}" VerticalAlignment="Center" />
<ProgressBar Grid.Column="1" Height="16" Maximum="100"
Value="{Binding Main.GpuUsage, Mode=OneWay}" Margin="12,0"
Foreground="{StaticResource AccentPurpleBrush}"
Background="{StaticResource BgPanelBrush}" />
<TextBlock Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right"
FontSize="16" FontWeight="Bold" Foreground="{StaticResource AccentPurpleBrush}"
Text="{Binding Main.GpuUsage, StringFormat={}{0:F1}%}" />
</Grid>
</Border>
<!-- Temperatures Row -->
<UniformGrid Columns="3" Margin="0,4,0,0">
<Border Style="{StaticResource Card}" Margin="0,0,8,0">
<StackPanel>
<TextBlock Text="CPU Temperature" Style="{StaticResource MetricLabel}" />
<TextBlock Style="{StaticResource MetricValue}" FontSize="22"
Foreground="{StaticResource AccentOrangeBrush}"
Text="{Binding Main.CpuTemp, StringFormat={}{0:F0}°C}" />
</StackPanel>
</Border>
<Border Style="{StaticResource Card}" Margin="4,0,4,0">
<StackPanel>
<TextBlock Text="GPU Temperature" Style="{StaticResource MetricLabel}" />
<TextBlock Style="{StaticResource MetricValue}" FontSize="22"
Foreground="{StaticResource AccentOrangeBrush}"
Text="{Binding Main.GpuTemp, StringFormat={}{0:F0}°C}" />
</StackPanel>
</Border>
<Border Style="{StaticResource Card}" Margin="8,0,0,0">
<StackPanel>
<TextBlock Text="Network Ping" Style="{StaticResource MetricLabel}" />
<TextBlock Style="{StaticResource MetricValue}" FontSize="22"
Foreground="{StaticResource AccentCyanBrush}"
Text="{Binding Main.PingMs, StringFormat={}{0:F0} ms}" />
</StackPanel>
</Border>
</UniformGrid>
</StackPanel>
</UserControl>