From f8eb2baa2fd8e31971d5c002057d2fc831dacd12 Mon Sep 17 00:00:00 2001 From: AutoOS Date: Sat, 18 Jul 2026 21:37:05 +0200 Subject: [PATCH 01/20] Benchmarks Tab --- Directory.Packages.props | 7 +- src/AutoOS.App/Assets/Fluent/Benchmarks.png | Bin 0 -> 380427 bytes .../BreadcrumbPageMappingsSettings.cs | 1 + .../NavigationPageMappingsSettings.cs | 1 + .../Assets/NavViewMenu/Settings.json | 7 + src/AutoOS.App/AutoOS.App.csproj | 225 +-- src/AutoOS.App/Themes/Styles.xaml | 64 + .../Benchmarks/BenchmarkDataHelpers.cs | 103 ++ .../Benchmarks/BenchmarksViewModel.cs | 473 ++++++ .../Benchmarks/PresentMonProcessDiscovery.cs | 571 +++++++ .../Settings/Benchmarks/PresentMonRecorder.cs | 83 + .../Views/Settings/BenchmarksPage.xaml | 612 ++++++++ .../Views/Settings/BenchmarksPage.xaml.cs | 1398 +++++++++++++++++ 13 files changed, 3432 insertions(+), 113 deletions(-) create mode 100644 src/AutoOS.App/Assets/Fluent/Benchmarks.png create mode 100644 src/AutoOS.App/Views/Settings/Benchmarks/BenchmarkDataHelpers.cs create mode 100644 src/AutoOS.App/Views/Settings/Benchmarks/BenchmarksViewModel.cs create mode 100644 src/AutoOS.App/Views/Settings/Benchmarks/PresentMonProcessDiscovery.cs create mode 100644 src/AutoOS.App/Views/Settings/Benchmarks/PresentMonRecorder.cs create mode 100644 src/AutoOS.App/Views/Settings/BenchmarksPage.xaml create mode 100644 src/AutoOS.App/Views/Settings/BenchmarksPage.xaml.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 7a89abfc..9053ee56 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -6,6 +6,7 @@ + @@ -14,6 +15,7 @@ + @@ -23,9 +25,10 @@ - + + - \ No newline at end of file + diff --git a/src/AutoOS.App/Assets/Fluent/Benchmarks.png b/src/AutoOS.App/Assets/Fluent/Benchmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..48807bc45c1dc33e8144fc93eefba51c1d8028fd GIT binary patch literal 380427 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

L4BgiAWFM*3qD3q66EMC>)OJ~Z~Zn}U$>C} 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

j4;#Cq5#vuNmhMH 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

O(HF%c9N5r&+64@m35EM?bosvNaEN zTWU*7)Q+T>c8CWtyswR;tUZRetBw`am(Xo^EImqzR{B;^K0B}H;U8;P*ZLaNhZ)RJ z&_-9zzd=nKmg(N0%8~uT`hD7fPvQr-WtC^AAueT&6|P<Sn2j<@f7Ce9EKa14u)m zv3j7h&v92yu0$)IV`+%8@?k5;<1k+xMv1+YJEtW0EHUY{09md~0}?a=iAIbe;MP z4!8R{O$}WgRx&dbTgvg;5HSPH|2zT5H&W%=_MLz{i-+&f@z!SWpI}Igh-bHn1(k&_ z5%+JDFc+b0!XiDW%uE5?M97f2k8~0wyOQAP3M0BLJWjQa8I+Kj0?%0^((?5YIGG-I z#@ZTobq%At=2LLi-{u%uQ?4s`?2v| z`@=ir!><)Udum|JV=ieSH;N0NFguFkicAzo#&;Fwi|!ZWHEn))iDT`DyV<0%i9)=7 z^Y9FlenbR%0{52*5?*OT8rMWp zy1EgdQ$Zz0odP1D8C#-#(T)*fe~rH692Os7=6Ju9CIf&_0v^nur3)HSuTF3A8~nus zYYDIGosDGSSaXA!-vXph!O>y9yo->9yEaS!GvofAtFI{FLa0c-yRrAA`rxJSB_xk; zKL?;+0!-45XvYvW=Rus|4=^&vy3myr9fVu3e?K1gwA(2EPg6beqpS1iDNd2BM&xIC zB8V(i#|RdUP_UE%N8OA5slTXoySzUoV=LpsR53mxBz_bU>9J1gTnhev;x|gte+mP7 z`MVf6Krcjpp%O34>(nwu;gBQ_^YULt9#IGRoMI?$lc8)6&GG4UCWIE&_ke>pSOAcn zgY@yf5H^uUAEoe=q%jq%$6b ?F@QCF7Qkg!jkGDRDZ?_rfMhFqYYkmvd*0z3$lK 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�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

oVYD}m<8R3 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

    4iNdbYj#*phfkFa`$HqHo;i{$)l8t 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 - - WinExe - AutoOS - AutoOS - app.manifest - win-$(Platform).pubxml - true - false - true - partial - true - true - 2 - MSIX - Assets\AppIcon.ico - 1.4.6.1 - - false - + + WinExe + AutoOS + AutoOS + app.manifest + win-$(Platform).pubxml + true + false + true + partial + true + true + 2 + MSIX + Assets\AppIcon.ico + 1.4.6.1 + + false + - - - False - False - True - False - True - True - $(DefaultItemExcludes);AppPackages\** - False - True - C:\Users\AutoOS\Desktop\AutoOS\AutoOS_TemporaryKey.pfx - SHA256 - False - False - False - Never - 0 - + + + False + False + True + False + True + True + $(DefaultItemExcludes);AppPackages\** + False + True + C:\Users\AutoOS\Desktop\AutoOS\AutoOS_TemporaryKey.pfx + SHA256 + False + False + False + Never + 0 + - - - PreserveNewest - - - PreserveNewest - - + + + PreserveNewest + + + PreserveNewest + + - - - PreserveNewest - - + + + PreserveNewest + + - - - - - + + + + + @@ -75,69 +75,72 @@ Tools extension to be activated for this project even if the Windows App SDK Nuget package has not yet been restored. --> - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - PreserveNewest - - + + + PreserveNewest + + - - - runtimes\win-x64\native\leveldb.dll - PreserveNewest - - - runtimes\win-arm64\native\leveldb.dll - PreserveNewest - - - runtimes\win-x86\native\leveldb.dll - PreserveNewest - - + + + runtimes\win-x64\native\leveldb.dll + PreserveNewest + + + runtimes\win-arm64\native\leveldb.dll + PreserveNewest + + + runtimes\win-x86\native\leveldb.dll + PreserveNewest + + - - - true - + + true + - - - + + + diff --git a/src/AutoOS.App/Themes/Styles.xaml b/src/AutoOS.App/Themes/Styles.xaml index 6979f113..027685e7 100644 --- a/src/AutoOS.App/Themes/Styles.xaml +++ b/src/AutoOS.App/Themes/Styles.xaml @@ -881,4 +881,68 @@ + diff --git a/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarkDataHelpers.cs b/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarkDataHelpers.cs new file mode 100644 index 00000000..8d424c20 --- /dev/null +++ b/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarkDataHelpers.cs @@ -0,0 +1,103 @@ +using System.Globalization; +using System.Text; +using CsvHelper; +using CsvHelper.Configuration; + +namespace AutoOS.Views.Settings.Benchmarks; + +internal static class BenchmarkCsv +{ + public static string NormalizeHeader(string value) + { + if (string.IsNullOrWhiteSpace(value)) + return string.Empty; + + var span = value.AsSpan().Trim(); + var normalized = new StringBuilder(span.Length); + foreach (char character in span) + { + if (char.IsLetterOrDigit(character)) + normalized.Append(char.ToLowerInvariant(character)); + } + return normalized.ToString(); + } + + public static bool TryParseDouble(string value, out double result) + { + value = value.Trim(); + return double.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out result) || + double.TryParse(value, NumberStyles.Float, CultureInfo.CurrentCulture, out result); + } + + public static List ParseCsvLine(string line) + { + if (string.IsNullOrEmpty(line)) + return []; + using var reader = new StringReader(line); + using var parser = new CsvParser(reader, new CsvConfiguration(CultureInfo.InvariantCulture) + { + HasHeaderRecord = false, + BadDataFound = null + }); + if (!parser.Read()) + return []; + return [.. parser.Record]; + } +} + +internal static class BenchmarkStatistics +{ + public static bool TryGetPercentileFromSorted(double[] ordered, double percentile, out double value) + { + value = 0; + if (ordered.Length == 0) + return false; + + double position = percentile / 100.0 * (ordered.Length - 1); + int lower = (int)Math.Floor(position); + int upper = (int)Math.Ceiling(position); + if (lower == upper) + { + value = ordered[lower]; + return true; + } + + double fraction = position - lower; + value = ordered[lower] * (1 - fraction) + ordered[upper] * fraction; + return true; + } + + public static bool TryComputeTimeSeriesStats( + IReadOnlyList values, + out (double stepwiseRelSD, double cv, double rmssd, double stdDev) stats) + { + stats = (0, 0, 0, 0); + if (values.Count < 2) + return false; + + double mean = values.Average(); + double sumSquaredDifference = values.Sum(value => Math.Pow(value - mean, 2)); + double standardDeviation = Math.Sqrt(sumSquaredDifference / values.Count); + double coefficientOfVariation = mean != 0 ? standardDeviation / mean : 0; + double consecutiveDifference = 0; + double relativeDifference = 0; + int validPairs = 0; + + for (int index = 1; index < values.Count; index++) + { + double difference = values[index] - values[index - 1]; + consecutiveDifference += difference * difference; + if (values[index - 1] == 0) + continue; + + double relative = difference / values[index - 1]; + relativeDifference += relative * relative; + validPairs++; + } + + double rmssd = Math.Sqrt(consecutiveDifference / (values.Count - 1)); + double stepwiseRelative = validPairs > 0 ? Math.Sqrt(relativeDifference / validPairs) : 0; + stats = (stepwiseRelative, coefficientOfVariation, rmssd, standardDeviation); + return true; + } +} diff --git a/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarksViewModel.cs b/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarksViewModel.cs new file mode 100644 index 00000000..a7217dcf --- /dev/null +++ b/src/AutoOS.App/Views/Settings/Benchmarks/BenchmarksViewModel.cs @@ -0,0 +1,473 @@ +using System.Collections.ObjectModel; +using CommunityToolkit.Mvvm.ComponentModel; +using Microsoft.UI.Xaml.Media; + +namespace AutoOS.Views.Settings.Benchmarks; + +public sealed partial class BenchmarksViewModel : ObservableObject +{ + private string _activeTab = "Recordings"; + private string _recordingState = "Empty"; + private string _analysisState = "Empty"; + private string _resultsState = "Empty"; + private int _selectedRecordingCount; + private bool _selectedRecordingsHaveSameProcess; + private string _processName = string.Empty; + private double _recordingDuration = 30; + private double _recordingDelay = 10; + private bool _isRecording; + private bool _showFpsAsMilliseconds; + private ObservableCollection _recordings = []; + private ObservableCollection _resultsRows = []; + private ObservableCollection _fpsBarSeries = []; + private ObservableCollection _fpsBarSeries2 = []; + private ObservableCollection _metricLineSeries = []; + private ObservableCollection _metricLineSeries2 = []; + private Windows.UI.Color _fpsColor; + private Windows.UI.Color _fpsColor2; + private SolidColorBrush _fpsChartColor; + private SolidColorBrush _fpsChartColor2; + private string _fpsChartYAxisLabel = "FPS"; + private string _metricChartYAxisLabel = "Milliseconds (ms)"; + private string _fpsChartLabelFormat = "0.# FPS"; + private bool _showFpsChart2; + private bool _showMetricChart2; + private string _fpsChartLabel = string.Empty; + private string _fpsChartLabel2 = string.Empty; + private string _metricChartLabel = string.Empty; + private string _metricChartLabel2 = string.Empty; + private string _recordingAHeader = "Recording A"; + private string _recordingBHeader = "Recording B"; + + public string ActiveTab + { + get => _activeTab; + set => SetProperty(ref _activeTab, value); + } + + public string RecordingState + { + get => _recordingState; + private set => SetProperty(ref _recordingState, value); + } + + public string AnalysisState + { + get => _analysisState; + private set => SetProperty(ref _analysisState, value); + } + + public string ResultsState + { + get => _resultsState; + private set => SetProperty(ref _resultsState, value); + } + + public ObservableCollection Recordings + { + get => _recordings; + private set => SetProperty(ref _recordings, value); + } + + public ObservableCollection ResultsRows + { + get => _resultsRows; + set => SetProperty(ref _resultsRows, value); + } + + public string ProcessName + { + get => _processName; + set + { + if (SetProperty(ref _processName, value)) + OnPropertyChanged(nameof(CanRecord)); + } + } + + public double RecordingDuration + { + get => _recordingDuration; + set + { + if (SetProperty(ref _recordingDuration, value)) + OnPropertyChanged(nameof(CanRecord)); + } + } + + public double RecordingDelay + { + get => _recordingDelay; + set + { + if (SetProperty(ref _recordingDelay, value)) + OnPropertyChanged(nameof(CanRecord)); + } + } + + public bool IsRecording + { + get => _isRecording; + set + { + if (SetProperty(ref _isRecording, value)) + { + OnPropertyChanged(nameof(CanRecord)); + OnPropertyChanged(nameof(RecordLabel)); + } + } + } + + public bool ShowFpsAsMilliseconds + { + get => _showFpsAsMilliseconds; + set => SetProperty(ref _showFpsAsMilliseconds, value); + } + + public bool CanRecord => + !IsRecording && + !string.IsNullOrWhiteSpace(ProcessName) && + RecordingDuration >= 3 && + RecordingDelay >= 0; + + public string RecordLabel => IsRecording ? "Recording..." : "Record"; + public List ShortcutKeys { get; } = ["Shift", "F11"]; + public bool IsAggregateEnabled => _selectedRecordingCount > 1 && _selectedRecordingsHaveSameProcess; + public bool IsAnalysisToolbarEnabled => _selectedRecordingCount is > 0 and <= 2; + public bool IsSecondColorPickerEnabled => _selectedRecordingCount == 2; + + public ObservableCollection FpsBarSeries + { + get => _fpsBarSeries; + set => SetProperty(ref _fpsBarSeries, value); + } + + public ObservableCollection FpsBarSeries2 + { + get => _fpsBarSeries2; + set => SetProperty(ref _fpsBarSeries2, value); + } + + public ObservableCollection MetricLineSeries + { + get => _metricLineSeries; + set => SetProperty(ref _metricLineSeries, value); + } + + public ObservableCollection MetricLineSeries2 + { + get => _metricLineSeries2; + set => SetProperty(ref _metricLineSeries2, value); + } + + public Windows.UI.Color FpsColor + { + get => _fpsColor; + set + { + if (!SetProperty(ref _fpsColor, value)) + return; + FpsChartColor = new SolidColorBrush(value); + } + } + + public Windows.UI.Color FpsColor2 + { + get => _fpsColor2; + set + { + if (!SetProperty(ref _fpsColor2, value)) + return; + FpsChartColor2 = new SolidColorBrush(value); + } + } + + public SolidColorBrush FpsChartColor + { + get => _fpsChartColor; + private set => SetProperty(ref _fpsChartColor, value); + } + + public SolidColorBrush FpsChartColor2 + { + get => _fpsChartColor2; + private set => SetProperty(ref _fpsChartColor2, value); + } + + public string FpsChartYAxisLabel + { + get => _fpsChartYAxisLabel; + set => SetProperty(ref _fpsChartYAxisLabel, value); + } + + public string MetricChartYAxisLabel + { + get => _metricChartYAxisLabel; + set => SetProperty(ref _metricChartYAxisLabel, value); + } + + public string FpsChartLabelFormat + { + get => _fpsChartLabelFormat; + set => SetProperty(ref _fpsChartLabelFormat, value); + } + + public bool ShowFpsChart2 + { + get => _showFpsChart2; + set => SetProperty(ref _showFpsChart2, value); + } + + public bool ShowMetricChart2 + { + get => _showMetricChart2; + set => SetProperty(ref _showMetricChart2, value); + } + + public string FpsChartLabel + { + get => _fpsChartLabel; + set => SetProperty(ref _fpsChartLabel, value); + } + + public string FpsChartLabel2 + { + get => _fpsChartLabel2; + set => SetProperty(ref _fpsChartLabel2, value); + } + + public string MetricChartLabel + { + get => _metricChartLabel; + set => SetProperty(ref _metricChartLabel, value); + } + + public string MetricChartLabel2 + { + get => _metricChartLabel2; + set => SetProperty(ref _metricChartLabel2, value); + } + + public string RecordingAHeader + { + get => _recordingAHeader; + set => SetProperty(ref _recordingAHeader, value); + } + + public string RecordingBHeader + { + get => _recordingBHeader; + set => SetProperty(ref _recordingBHeader, value); + } + + public void SetRecordings(IEnumerable recordings) + { + Recordings = new ObservableCollection(recordings); + RecordingState = Recordings.Count == 0 ? "Empty" : "Content"; + } + + public void SetSelectedRecordings(IReadOnlyCollection recordings) + { + _selectedRecordingCount = recordings.Count; + _selectedRecordingsHaveSameProcess = recordings.Count > 0 && + recordings.Select(recording => recording.Process) + .Distinct(StringComparer.OrdinalIgnoreCase) + .Count() == 1; + + AnalysisState = recordings.Count switch + { + 0 => "Empty", + > 2 => "Error", + _ => "Content" + }; + ResultsState = AnalysisState; + OnPropertyChanged(nameof(IsAggregateEnabled)); + OnPropertyChanged(nameof(IsAnalysisToolbarEnabled)); + OnPropertyChanged(nameof(IsSecondColorPickerEnabled)); + } + + public void ClearAnalysis() + { + FpsBarSeries = []; + FpsBarSeries2 = []; + MetricLineSeries = []; + MetricLineSeries2 = []; + FpsChartLabel = string.Empty; + FpsChartLabel2 = string.Empty; + MetricChartLabel = string.Empty; + MetricChartLabel2 = string.Empty; + ShowFpsChart2 = false; + ShowMetricChart2 = false; + } + + public void RefreshChartColors() + { + FpsChartColor = new SolidColorBrush(FpsColor); + FpsChartColor2 = new SolidColorBrush(FpsColor2); + } +} + +public sealed partial class RecordingItem : ObservableObject +{ + private string _filePath = string.Empty; + private string _fileName = string.Empty; + private string _title = string.Empty; + private string _process = string.Empty; + private double _durationSeconds; + private DateTimeOffset _date; + private TimeSpan _time; + private double _fileSizeKb; + + public string FilePath + { + get => _filePath; + set => SetProperty(ref _filePath, value); + } + + public string FileName + { + get => _fileName; + set => SetProperty(ref _fileName, value); + } + + public string Title + { + get => _title; + set => SetProperty(ref _title, value); + } + + public string Process + { + get => _process; + set => SetProperty(ref _process, value); + } + + public double DurationSeconds + { + get => _durationSeconds; + set => SetProperty(ref _durationSeconds, value); + } + + public DateTimeOffset Date + { + get => _date; + set => SetProperty(ref _date, value); + } + + public TimeSpan Time + { + get => _time; + set => SetProperty(ref _time, value); + } + + public double FileSizeKb + { + get => _fileSizeKb; + set => SetProperty(ref _fileSizeKb, value); + } +} + +public sealed partial class ResultRow : ObservableObject +{ + private string _metric = string.Empty; + private string _recordingA = string.Empty; + private string _recordingB = string.Empty; + private ResultComparison _recordingAComparison; + private ResultComparison _recordingBComparison; + + public string Metric + { + get => _metric; + set => SetProperty(ref _metric, value); + } + + public string RecordingA + { + get => _recordingA; + set => SetProperty(ref _recordingA, value); + } + + public string RecordingB + { + get => _recordingB; + set => SetProperty(ref _recordingB, value); + } + + public ResultComparison RecordingAComparison + { + get => _recordingAComparison; + set => SetProperty(ref _recordingAComparison, value); + } + + public ResultComparison RecordingBComparison + { + get => _recordingBComparison; + set => SetProperty(ref _recordingBComparison, value); + } + + public ObservableCollection Children { get; } = []; +} + +public enum ResultComparison +{ + None, + Better, + Worse +} + +public sealed partial class ResultCellStyleSelector : StyleSelector +{ + public bool IsRecordingA { get; set; } + public Style SuccessStyle { get; set; } + public Style CriticalStyle { get; set; } + + protected override Style SelectStyleCore(object item, DependencyObject container) + { + if (item is not ResultRow row) + return null; + + var comparison = IsRecordingA ? row.RecordingAComparison : row.RecordingBComparison; + return comparison switch + { + ResultComparison.Better => SuccessStyle, + ResultComparison.Worse => CriticalStyle, + _ => null + }; + } +} + +public sealed partial class BarPoint : ObservableObject +{ + private string _label = string.Empty; + private double _value; + + public string Label + { + get => _label; + set => SetProperty(ref _label, value); + } + + public double Value + { + get => _value; + set => SetProperty(ref _value, value); + } +} + +public sealed partial class SeriesPoint : ObservableObject +{ + private int _index; + private double _value; + + public int Index + { + get => _index; + set => SetProperty(ref _index, value); + } + + public double Value + { + get => _value; + set => SetProperty(ref _value, value); + } +} diff --git a/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonProcessDiscovery.cs b/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonProcessDiscovery.cs new file mode 100644 index 00000000..b6214bec --- /dev/null +++ b/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonProcessDiscovery.cs @@ -0,0 +1,571 @@ +using System.ComponentModel; +using System.Diagnostics; +using System.Threading; +using Microsoft.Diagnostics.Tracing; +using Microsoft.Diagnostics.Tracing.Parsers; +using Microsoft.Diagnostics.Tracing.Session; + +namespace AutoOS.Views.Settings.Benchmarks; + +internal sealed partial class PresentMonProcessDiscovery : IDisposable +{ + private static readonly Guid DxgKrnlProvider = new("802EC45A-1E99-4B83-9920-87C98277BA9D"); + private static readonly Guid DxgiProvider = new("CA11C036-0102-4A2D-A6AD-F03CFED5D3C9"); + private static readonly Guid D3D9Provider = new("783ACA0A-790E-4D7F-8451-AA850511C6B9"); + private static readonly Guid KernelProcessProvider = new("22FB2CD6-0E7B-422B-A0C7-2FAD1FD0E716"); + private const ulong PresentHistoryKeyword = 0x08000000; + private const ulong DxgiKeyword = 0x3; + private const ulong RuntimePresentKeyword = 0x2; + private const ulong ProcessKeyword = 0x10; + private const int ProcessStartEventId = 0x0001; + private const int ProcessStopEventId = 0x0002; + private const int ProcessRundownEventId = 0x000F; + private const int PresentHistoryStartEventId = 0x00AB; + private const int PresentHistoryDetailedStartEventId = 0x00D7; + private const int DxgiPresentStartEventId = 0x002A; + private const int DxgiPresentStopEventId = 0x002B; + private const int DxgiPresentMultiplaneOverlayStartEventId = 0x0037; + private const int DxgiPresentMultiplaneOverlayStopEventId = 0x0038; + private const int DxgiSwapChainStartEventId = 0x000A; + private const int D3D9PresentStartEventId = 0x0001; + private const int D3D9PresentStopEventId = 0x0002; + private const uint DxgiPresentTest = 0x1; + private const uint DxgiStatusOccluded = 0x087A0001; + private const uint DxgiStatusNoDesktopAccess = 0x087A0005; + private const uint DxgiStatusModeChangeInProgress = 0x087A0008; + private const uint RedirectedCompositionModel = 7; + private static readonly HashSet GraphicsRuntimeModules = new(StringComparer.OrdinalIgnoreCase) + { + "d3d9.dll", + "d3d11.dll", + "d3d12.dll", + "vulkan-1.dll", + "opengl32.dll" + }; + private static readonly HashSet ExcludedProcessNames = new(StringComparer.OrdinalIgnoreCase) + { + "explorer.exe", + "csrss.exe", + "msedgeview.exe", + "msedgewebview2.exe", + "dwm.exe", + "svchost.exe", + "StartMenuExperienceHost.exe", + "ShellHost.exe", + "ShellExperienceHost.exe", + "SearchHost.exe", + "CrossDeviceResume.exe" + }; + + private readonly Lock _sync = new(); + private readonly Dictionary _runningProcesses = []; + private readonly Dictionary _presentingProcesses = []; + private readonly HashSet _runtimePresents = []; + private readonly HashSet _startupCandidates = new(StringComparer.OrdinalIgnoreCase); + private readonly HashSet _redirectedCompositionProcesses = new(StringComparer.OrdinalIgnoreCase); + private readonly HashSet _confirmedPresentingProcesses = new(StringComparer.OrdinalIgnoreCase); + private TraceEventSession _session; + private bool _started; + + public void Start() + { + lock (_sync) + { + if (_started) + return; + + _started = true; + } + + try + { + _session = new TraceEventSession($"AutoOS.PresentDiscovery.{Environment.ProcessId}") + { + StopOnDispose = true + }; + + var parser = new RegisteredTraceEventParser(_session.Source); + parser.All += ProcessTraceEvent; + _session.EnableProvider(KernelProcessProvider, TraceEventLevel.Informational, ProcessKeyword); + _session.EnableProvider(DxgKrnlProvider, TraceEventLevel.Informational, PresentHistoryKeyword); + _session.EnableProvider(DxgiProvider, TraceEventLevel.Verbose, DxgiKeyword); + _session.EnableProvider(D3D9Provider, TraceEventLevel.Verbose, RuntimePresentKeyword); + + TraceEventSession session = _session; + var traceThread = new Thread(() => ProcessEvents(session)) + { + IsBackground = true, + Name = "PresentMon process discovery" + }; + traceThread.Start(); + + var startupDiscoveryThread = new Thread(DiscoverStartupCandidates) + { + IsBackground = true, + Name = "PresentMon startup process discovery" + }; + startupDiscoveryThread.Start(); + + // PresentMon requests process capture-state so processes that started + // before the trace session are emitted as ProcessRundown events. + _session.CaptureState(KernelProcessProvider, ProcessKeyword); + _session.CaptureState(DxgiProvider, DxgiKeyword); + } + catch + { + _session?.Dispose(); + _session = null; + lock (_sync) + { + _started = false; + } + } + } + + public List GetRecordableProcesses() + { + RemoveStoppedProcesses(); + + lock (_sync) + { + return [.. _presentingProcesses.Values + .Select(process => process.Name) + .Concat(_startupCandidates) + .Where(name => !ExcludedProcessNames.Contains(name)) + .Where(name => !_redirectedCompositionProcesses.Contains(name) || + _confirmedPresentingProcesses.Contains(name)) + .Distinct(StringComparer.OrdinalIgnoreCase) + .OrderBy(name => name, StringComparer.OrdinalIgnoreCase)]; + } + } + + private static void ProcessEvents(TraceEventSession session) + { + try + { + session.Source.Process(); + } + catch + { + // Disposing a live ETW session ends this blocking read by throwing. + } + } + + private void ProcessTraceEvent(TraceEvent traceEvent) + { + if (traceEvent.ProviderGuid == KernelProcessProvider) + { + ProcessKernelProcessEvent(traceEvent); + return; + } + + if (traceEvent.ProviderGuid == DxgKrnlProvider) + { + ProcessDxgKrnlEvent(traceEvent); + return; + } + + if (traceEvent.ProviderGuid == DxgiProvider) + { + ProcessDxgiEvent(traceEvent); + return; + } + + if (traceEvent.ProviderGuid == D3D9Provider) + ProcessD3D9Event(traceEvent); + } + + private void ProcessKernelProcessEvent(TraceEvent processEvent) + { + int eventId = (int)processEvent.ID; + if (!TryReadUInt32(processEvent, "ProcessID", out uint processIdValue) || processIdValue > int.MaxValue) + return; + + int processId = (int)processIdValue; + if (eventId == ProcessStopEventId) + { + lock (_sync) + { + _runningProcesses.Remove(processId); + _presentingProcesses.Remove(processId); + _runtimePresents.RemoveWhere(present => present.ProcessId == processId); + } + return; + } + + if (eventId != ProcessStartEventId && eventId != ProcessRundownEventId) + return; + + RememberRunningProcess(processId); + } + + private void ProcessDxgiEvent(TraceEvent presentEvent) + { + int eventId = (int)presentEvent.ID; + if (eventId == DxgiSwapChainStartEventId) + { + RememberPresentingProcess(presentEvent.ProcessID); + return; + } + + if (eventId == DxgiPresentStartEventId || eventId == DxgiPresentMultiplaneOverlayStartEventId) + { + if (!TryReadUInt32(presentEvent, "Flags", out uint flags) || (flags & DxgiPresentTest) != 0) + return; + + RememberRuntimePresentStart(DxgiProvider, presentEvent); + return; + } + + if (eventId != DxgiPresentStopEventId && eventId != DxgiPresentMultiplaneOverlayStopEventId) + return; + + if (!CompleteRuntimePresent(DxgiProvider, presentEvent, out int processId) || + !TryReadUInt32(presentEvent, "Result", out uint result) || + (result & 0x80000000) != 0 || + result == DxgiStatusOccluded || + result == DxgiStatusNoDesktopAccess || + result == DxgiStatusModeChangeInProgress) + { + return; + } + + RememberPresentingProcess(processId); + } + + private void ProcessD3D9Event(TraceEvent presentEvent) + { + int eventId = (int)presentEvent.ID; + if (eventId == D3D9PresentStartEventId) + { + RememberRuntimePresentStart(D3D9Provider, presentEvent); + return; + } + + if (eventId != D3D9PresentStopEventId || + !CompleteRuntimePresent(D3D9Provider, presentEvent, out int processId) || + !TryReadUInt32(presentEvent, "Result", out uint result) || + (result & 0x80000000) != 0) + { + return; + } + + RememberPresentingProcess(processId); + } + + private void RememberRuntimePresentStart(Guid provider, TraceEvent presentEvent) + { + lock (_sync) + { + _runtimePresents.Add(new RuntimePresent(provider, presentEvent.ProcessID, presentEvent.ThreadID)); + } + } + + private bool CompleteRuntimePresent(Guid provider, TraceEvent presentEvent, out int processId) + { + var present = new RuntimePresent(provider, presentEvent.ProcessID, presentEvent.ThreadID); + processId = present.ProcessId; + lock (_sync) + { + return _runtimePresents.Remove(present); + } + } + + private void ProcessDxgKrnlEvent(TraceEvent presentEvent) + { + int eventId = (int)presentEvent.ID; + if ((eventId != PresentHistoryStartEventId && eventId != PresentHistoryDetailedStartEventId) || + !TryReadUInt32(presentEvent, "Model", out uint model)) + { + return; + } + + if (!TryGetProcessIdentity(presentEvent.ProcessID, out ProcessIdentity identity)) + return; + + if (model == RedirectedCompositionModel) + { + lock (_sync) + { + if (!_confirmedPresentingProcesses.Contains(identity.Name)) + _redirectedCompositionProcesses.Add(identity.Name); + } + return; + } + + lock (_sync) + { + _confirmedPresentingProcesses.Add(identity.Name); + _redirectedCompositionProcesses.Remove(identity.Name); + } + + RememberPresentingProcess(presentEvent.ProcessID); + } + + private void DiscoverStartupCandidates() + { + var candidates = new Dictionary(StringComparer.OrdinalIgnoreCase); + + foreach (Process process in Process.GetProcesses()) + { + using (process) + { + if (!TryGetProcessName(process, out string name) || + ExcludedProcessNames.Contains(name) || + process.Id == Environment.ProcessId) + { + continue; + } + + candidates.TryGetValue(name, out CandidateEligibility eligibility); + bool hasVisibleWindow = eligibility.HasVisibleWindow || HasVisibleMainWindow(process); + bool hasGraphicsRuntime = eligibility.HasGraphicsRuntime || HasGraphicsRuntime(process); + candidates[name] = new CandidateEligibility(hasVisibleWindow, hasGraphicsRuntime); + } + } + + // Allow the live trace to classify actively-rendering composition-only + // applications before publishing the startup candidates. + Thread.Sleep(1500); + + lock (_sync) + { + if (!_started) + return; + + foreach (var candidate in candidates) + { + if (candidate.Value.HasVisibleWindow && candidate.Value.HasGraphicsRuntime) + _startupCandidates.Add(candidate.Key); + } + } + } + + private static bool TryGetProcessName(Process process, out string name) + { + name = string.Empty; + + try + { + string processName = process.ProcessName; + name = processName.EndsWith(".exe", StringComparison.OrdinalIgnoreCase) + ? processName + : $"{processName}.exe"; + return true; + } + catch (InvalidOperationException) + { + return false; + } + catch (Win32Exception) + { + return false; + } + } + + private static bool HasVisibleMainWindow(Process process) + { + try + { + return process.MainWindowHandle != IntPtr.Zero && !string.IsNullOrWhiteSpace(process.MainWindowTitle); + } + catch (InvalidOperationException) + { + return false; + } + } + + private static bool HasGraphicsRuntime(Process process) + { + try + { + foreach (ProcessModule module in process.Modules) + { + if (GraphicsRuntimeModules.Contains(module.ModuleName)) + return true; + } + } + catch (InvalidOperationException) + { + return false; + } + catch (Win32Exception) + { + return false; + } + catch (NotSupportedException) + { + return false; + } + + return false; + } + + private void RememberRunningProcess(int processId) + { + if (processId <= 4 || processId == Environment.ProcessId || + !TryGetProcessIdentity(processId, out ProcessIdentity identity) || + ExcludedProcessNames.Contains(identity.Name)) + { + return; + } + + lock (_sync) + { + _runningProcesses[processId] = identity; + } + } + + private void RememberPresentingProcess(int processId) + { + if (processId <= 4 || processId == Environment.ProcessId || + !TryGetProcessIdentity(processId, out ProcessIdentity identity) || + ExcludedProcessNames.Contains(identity.Name)) + { + return; + } + + lock (_sync) + { + _runningProcesses[processId] = identity; + _presentingProcesses[processId] = identity; + } + } + + private void RemoveStoppedProcesses() + { + RemoveStoppedProcesses(_runningProcesses); + RemoveStoppedProcesses(_presentingProcesses); + + string[] startupCandidates; + lock (_sync) + { + startupCandidates = [.. _startupCandidates]; + } + + foreach (string candidate in startupCandidates) + { + string processName = Path.GetFileNameWithoutExtension(candidate); + Process[] processes = Process.GetProcessesByName(processName); + bool isRunning = processes.Length != 0; + + foreach (Process process in processes) + process.Dispose(); + + if (isRunning) + continue; + + lock (_sync) + { + _startupCandidates.Remove(candidate); + _redirectedCompositionProcesses.Remove(candidate); + _confirmedPresentingProcesses.Remove(candidate); + } + } + } + + private void RemoveStoppedProcesses(Dictionary processes) + { + KeyValuePair[] snapshot; + lock (_sync) + { + snapshot = [.. processes]; + } + + foreach (var process in snapshot) + { + if (TryGetProcessIdentity(process.Key, out ProcessIdentity current) && + current.StartTimeUtc == process.Value.StartTimeUtc) + { + continue; + } + + lock (_sync) + { + processes.Remove(process.Key); + } + } + } + + private static bool TryGetProcessIdentity(int processId, out ProcessIdentity identity) + { + identity = default; + + try + { + using Process process = Process.GetProcessById(processId); + if (process.HasExited) + return false; + + string processName = process.ProcessName; + string name = processName.EndsWith(".exe", StringComparison.OrdinalIgnoreCase) + ? processName + : $"{processName}.exe"; + identity = new ProcessIdentity(name, process.StartTime.ToUniversalTime()); + return true; + } + catch (ArgumentException) + { + return false; + } + catch (InvalidOperationException) + { + return false; + } + catch (Win32Exception) + { + return false; + } + } + + private static bool TryReadUInt32(TraceEvent traceEvent, string payloadName, out uint value) + { + value = 0; + int payloadIndex = Array.IndexOf(traceEvent.PayloadNames, payloadName); + if (payloadIndex < 0) + return false; + + object payload = traceEvent.PayloadValue(payloadIndex); + switch (payload) + { + case uint unsignedValue: + value = unsignedValue; + return true; + case int signedValue when signedValue >= 0: + value = (uint)signedValue; + return true; + case ulong longValue when longValue <= uint.MaxValue: + value = (uint)longValue; + return true; + case long signedLongValue when signedLongValue is >= 0 and <= uint.MaxValue: + value = (uint)signedLongValue; + return true; + default: + return false; + } + } + + public void Dispose() + { + lock (_sync) + { + if (!_started) + return; + + _started = false; + _runningProcesses.Clear(); + _presentingProcesses.Clear(); + _runtimePresents.Clear(); + _startupCandidates.Clear(); + _redirectedCompositionProcesses.Clear(); + _confirmedPresentingProcesses.Clear(); + } + + _session?.Dispose(); + _session = null; + } + + private readonly record struct ProcessIdentity(string Name, DateTime StartTimeUtc); + private readonly record struct RuntimePresent(Guid Provider, int ProcessId, int ThreadId); + private readonly record struct CandidateEligibility(bool HasVisibleWindow, bool HasGraphicsRuntime); +} diff --git a/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonRecorder.cs b/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonRecorder.cs new file mode 100644 index 00000000..4ac8fee5 --- /dev/null +++ b/src/AutoOS.App/Views/Settings/Benchmarks/PresentMonRecorder.cs @@ -0,0 +1,83 @@ +using System.Diagnostics; +using System.Globalization; + +namespace AutoOS.Views.Settings.Benchmarks; + +internal enum PresentMonRecordingResult +{ + Saved, + Stopped, + NotSaved +} + +internal sealed class PresentMonRecorder +{ + private Process _process; + private bool _stopRequested; + + public async Task RecordAsync( + string presentMonPath, + string outputDirectory, + string processName, + int durationSeconds, + int delaySeconds) + { + _stopRequested = false; + Directory.CreateDirectory(outputDirectory); + var delayTimer = Stopwatch.StartNew(); + while (delayTimer.Elapsed < TimeSpan.FromSeconds(delaySeconds) && !_stopRequested) + await Task.Delay(100); + + if (_stopRequested) + return PresentMonRecordingResult.Stopped; + + string outputPath = Path.Combine(outputDirectory, $"PresentMon_Recording_{DateTime.Now:yyyyMMdd_HHmmss}.csv"); + var startInfo = new ProcessStartInfo + { + FileName = presentMonPath, + UseShellExecute = true, + Verb = "runas", + WindowStyle = ProcessWindowStyle.Hidden + }; + startInfo.ArgumentList.Add("--process_name"); + startInfo.ArgumentList.Add(processName); + startInfo.ArgumentList.Add("--timed"); + startInfo.ArgumentList.Add(durationSeconds.ToString(CultureInfo.InvariantCulture)); + startInfo.ArgumentList.Add("--terminate_after_timed"); + startInfo.ArgumentList.Add("--date_time"); + startInfo.ArgumentList.Add("--track_gpu_video"); + startInfo.ArgumentList.Add("--track_frame_type"); + startInfo.ArgumentList.Add("--track_hw_measurements"); + startInfo.ArgumentList.Add("--track_app_timing"); + startInfo.ArgumentList.Add("--track_pc_latency"); + startInfo.ArgumentList.Add("--output_file"); + startInfo.ArgumentList.Add(outputPath); + + _process = Process.Start(startInfo) ?? + throw new InvalidOperationException("PresentMon could not be started."); + + try + { + await _process.WaitForExitAsync(); + } + finally + { + _process.Dispose(); + _process = null; + } + + if (_stopRequested) + return PresentMonRecordingResult.Stopped; + + return File.Exists(outputPath) && new FileInfo(outputPath).Length > 0 + ? PresentMonRecordingResult.Saved + : PresentMonRecordingResult.NotSaved; + } + + public void Stop() + { + _stopRequested = true; + if (_process != null && !_process.HasExited) + _process.Kill(entireProcessTree: true); + } +} diff --git a/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml new file mode 100644 index 00000000..491f331e --- /dev/null +++ b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml @@ -0,0 +1,612 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Displayed FPS + Rendered FPS + + + + + + + + + + + + + + + + + + Displayed FPS + MsBetweenDisplayChange + Rendered FPS + MsBetweenPresents + MsGPUBusy + MsUntilDisplayed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml.cs b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml.cs new file mode 100644 index 00000000..cc1062e3 --- /dev/null +++ b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml.cs @@ -0,0 +1,1398 @@ +using System.Globalization; +using AutoOS.Common; +using AutoOS.Core.Helpers.Picker; +using AutoOS.Views.Settings.Benchmarks; +using Syncfusion.UI.Xaml.DataGrid; +using Windows.System; +using static AutoOS.Views.Settings.Benchmarks.BenchmarkCsv; +using static AutoOS.Views.Settings.Benchmarks.BenchmarkStatistics; +namespace AutoOS.Views.Settings; + +public sealed partial class BenchmarksPage : Page +{ + public BenchmarksViewModel ViewModel => (BenchmarksViewModel)Resources["BenchmarksViewModel"]; + + private static readonly string RecordingsDirectory = Path.Combine(PathHelper.GetAppDataFolderPath(), "Benchmarks"); + private static readonly string[] PercentileLabels = ["Mean", "P0.1", "P1", "P5", "P10", "P50", "P90", "P95", "P99", "P99.9"]; + private const string AggregateDurationColumn = "AutoOSAggregateDurationSeconds"; + private GlobalKeyboardHook _globalKeyboardHook; + private VirtualKeyModifiers _currentModifiers = VirtualKeyModifiers.Shift; + private VirtualKey _currentKey = VirtualKey.F11; + internal PresentMonProcessDiscovery PresentingProcesses { get; } = new(); + private void OnGlobalKeyDown(object sender, KeyboardHookEventArgs e) + { + if (e.Key == _currentKey && + e.IsCtrl == _currentModifiers.HasFlag(VirtualKeyModifiers.Control) && + e.IsShift == _currentModifiers.HasFlag(VirtualKeyModifiers.Shift) && + e.IsAlt == _currentModifiers.HasFlag(VirtualKeyModifiers.Menu) && + e.IsWindows == _currentModifiers.HasFlag(VirtualKeyModifiers.Windows)) + { + DispatcherQueue.TryEnqueue(() => + { + if (!ViewModel.IsRecording) + Record_Checked(this, null); + }); + } + } + private readonly PresentMonRecorder _recorder = new(); + private sealed record CachedFile(string Path, DateTime LastWriteUtc, Dictionary HeaderIndex); + private readonly Dictionary _headerCache = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary<(string path, DateTime lastWriteUtc, string metric), List> _columnCache = []; + private readonly Dictionary<(string path, DateTime lastWriteUtc), Dictionary> _averagesCache = []; + private readonly Dictionary<(string path, DateTime lastWriteUtc, string metric), double[]> _sortedFpsCache = []; + private readonly Dictionary<(string path, DateTime lastWriteUtc, string metric), (double stepwiseRelSD, double cv, double rmssd, double stdDev)> _statsCache = []; + private readonly Lock _cacheLock = new(); + public BenchmarksPage() + { + InitializeComponent(); + LoadRecordings(); + } + + protected override void OnNavigatedTo(NavigationEventArgs e) + { + base.OnNavigatedTo(e); + _globalKeyboardHook = new GlobalKeyboardHook(); + _globalKeyboardHook.KeyDown += OnGlobalKeyDown; + _globalKeyboardHook.Start(); + } + protected override void OnNavigatedFrom(NavigationEventArgs e) + { + base.OnNavigatedFrom(e); + if (_globalKeyboardHook != null) + { + _globalKeyboardHook.KeyDown -= OnGlobalKeyDown; + _globalKeyboardHook.Stop(); + _globalKeyboardHook.Dispose(); + _globalKeyboardHook = null; + } + } + private void HotkeyShortcut_PrimaryButtonClick(object sender, ContentDialogButtonClickEventArgs e) + { + HotkeyShortcut.UpdatePreviewKeys(); + HotkeyShortcut.CloseContentDialog(); + if (HotkeyShortcut.Keys == null) return; + _currentModifiers = VirtualKeyModifiers.None; + _currentKey = VirtualKey.None; + foreach (var item in HotkeyShortcut.Keys) + { + string keyName = item switch + { + KeyVisualInfo kvi => kvi.KeyName ?? string.Empty, + string s => s, + _ => item?.ToString() ?? string.Empty + }; + VirtualKey virtKey = item is KeyVisualInfo k ? k.Key.GetValueOrDefault() : VirtualKey.None; + if (keyName.Contains("Ctrl", StringComparison.OrdinalIgnoreCase)) + _currentModifiers |= VirtualKeyModifiers.Control; + else if (keyName.Contains("Shift", StringComparison.OrdinalIgnoreCase)) + _currentModifiers |= VirtualKeyModifiers.Shift; + else if (keyName.Contains("Alt", StringComparison.OrdinalIgnoreCase)) + _currentModifiers |= VirtualKeyModifiers.Menu; + else if (keyName.Contains("Win", StringComparison.OrdinalIgnoreCase)) + _currentModifiers |= VirtualKeyModifiers.Windows; + else if (virtKey != VirtualKey.None) + _currentKey = virtKey; + else if (Enum.TryParse(keyName, ignoreCase: true, out var parsed) && parsed != VirtualKey.None) + _currentKey = parsed; + } + } + + private void RecordingsTreeGrid_SizeChanged(object sender, SizeChangedEventArgs e) + { + if (e.NewSize.Width > 0) + { + foreach (var col in RecordingsTreeGrid.Columns) + col.Width = double.NaN; + RecordingsTreeGrid.InvalidateMeasure(); + RecordingsTreeGrid.UpdateLayout(); + } + } + + private void ResultsTreeGrid_SizeChanged(object sender, SizeChangedEventArgs e) + { + if (e.NewSize.Width > 0) + { + foreach (var col in ResultsTreeGrid.Columns) + col.Width = double.NaN; + ResultsTreeGrid.InvalidateMeasure(); + ResultsTreeGrid.UpdateLayout(); + } + } + + + private List GetSelectedRecordings() + { + if (RecordingsTreeGrid is null) + return []; + + List selected = RecordingsTreeGrid.SelectedItems is null + ? [] + : [.. RecordingsTreeGrid.SelectedItems.OfType()]; + if (selected.Count == 0 && RecordingsTreeGrid.SelectedItem is RecordingItem item) + selected.Add(item); + return selected; + } + private async void FpsUnitSelector_SelectionChanged(SelectorBar sender, SelectorBarSelectionChangedEventArgs args) + { + ViewModel.ShowFpsAsMilliseconds = sender.SelectedItem == MsUnitItem; + if (ViewModel.ActiveTab != "Analysis") + return; + var items = GetSelectedRecordings(); + if (items.Count > 0) + await RenderFpsChart(items); + } + // ── Play / Record ──────────────────────────────────────────────────────── + private async void AddRecording_Click(object sender, RoutedEventArgs e) + { + var picker = new FilePicker(App.MainWindow) + { + ShowAllFilesOption = false, + Title = "Add benchmark recordings" + }; + picker.FileTypeChoices.Add("PresentMon recordings", ["*.csv"]); + var files = await picker.PickMultipleFilesAsync(); + if (files.Count == 0) + return; + try + { + Directory.CreateDirectory(RecordingsDirectory); + foreach (var file in files) + { + string destination = Path.Combine(RecordingsDirectory, file.Name); + File.Copy(file.Path, destination, overwrite: false); + } + LoadRecordings(); + } + catch (Exception ex) + { + await new ContentDialog + { + Title = "Recording Error", + Content = ex.Message, + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + } + } + private async void Record_Checked(object sender, RoutedEventArgs e) + { + if (ViewModel.IsRecording) + return; + ViewModel.IsRecording = true; + Record.IsChecked = true; + int duration = (int)ViewModel.RecordingDuration; + int delay = (int)ViewModel.RecordingDelay; + string processName = ViewModel.ProcessName.Trim(); + string presentMonPath = Path.Combine(RecordingsDirectory, "PresentMon.exe"); + if (!File.Exists(presentMonPath)) + { + await new ContentDialog + { + Title = "Recording Error", + Content = $"PresentMon.exe was not found at {presentMonPath}. Place PresentMon in the benchmarks directory and try again.", + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + ViewModel.IsRecording = false; + Record.IsChecked = false; + return; + } + string errorMessage = string.Empty; + PresentMonRecordingResult recordingResult = PresentMonRecordingResult.Stopped; + try + { + recordingResult = await _recorder.RecordAsync(presentMonPath, RecordingsDirectory, processName, duration, delay); + } + catch (Exception ex) + { + errorMessage = ex.Message; + } + finally + { + ViewModel.IsRecording = false; + Record.IsChecked = false; + LoadRecordings(); + if (!string.IsNullOrWhiteSpace(errorMessage)) + { + await new ContentDialog + { + Title = "Recording Error", + Content = errorMessage, + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + } + } + if (string.IsNullOrWhiteSpace(errorMessage) && recordingResult == PresentMonRecordingResult.NotSaved) + { + await MessageBox.ShowErrorAsync( + App.MainWindow, + "Process either wasn't in foreground or cannot be recorded with PresentMon", + "Recording failed"); + } + } + private void Record_Unchecked(object sender, RoutedEventArgs e) + { + if (!ViewModel.IsRecording) + return; + _recorder.Stop(); + } + // ── Recordings list ────────────────────────────────────────────────────── + private void LoadRecordings() + { + List recordings = []; + if (!Directory.Exists(RecordingsDirectory)) + { + ViewModel.SetRecordings(recordings); + ViewModel.SetSelectedRecordings([]); + return; + } + List csvFiles = [.. Directory.GetFiles(RecordingsDirectory, "*.csv") + .OrderByDescending(File.GetLastWriteTime)]; + if (csvFiles.Count == 0) + { + ViewModel.SetRecordings(recordings); + } + else + { + foreach (var file in csvFiles) + { + var info = new FileInfo(file); + var (process, durationSeconds) = ReadRecordingMetadata(file, info); + var recording = new RecordingItem + { + FilePath = file, + FileName = info.Name, + Title = Path.GetFileNameWithoutExtension(info.Name), + Process = process, + DurationSeconds = durationSeconds, + Date = info.LastWriteTime, + Time = info.LastWriteTime.TimeOfDay, + FileSizeKb = info.Length / 1024.0 + }; + recordings.Add(recording); + } + ViewModel.SetRecordings(recordings); + } + ViewModel.SetSelectedRecordings(GetSelectedRecordings()); + } + private static (string Process, double DurationSeconds) ReadRecordingMetadata(string filePath, FileInfo info) + { + string process = Path.GetFileNameWithoutExtension(info.Name); + double durationSeconds = Math.Max(0, (info.LastWriteTime - info.CreationTime).TotalSeconds); + try + { + using var reader = new StreamReader(filePath); + var headerLine = reader.ReadLine(); + var firstLine = reader.ReadLine(); + if (string.IsNullOrWhiteSpace(headerLine) || string.IsNullOrWhiteSpace(firstLine)) + return (process, durationSeconds); + var headers = ParseCsvLine(headerLine); + var firstValues = ParseCsvLine(firstLine); + string lastLine = firstLine; + const int tailBytes = 64 * 1024; + using var tailStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); + long tailStart = Math.Max(0, tailStream.Length - tailBytes); + tailStream.Seek(tailStart, SeekOrigin.Begin); + using var tailReader = new StreamReader(tailStream); + if (tailStart > 0) + tailReader.ReadLine(); + while (!tailReader.EndOfStream) + { + var line = tailReader.ReadLine(); + if (!string.IsNullOrWhiteSpace(line)) + lastLine = line; + } + var lastValues = ParseCsvLine(lastLine); + int applicationIndex = headers.FindIndex(h => string.Equals(h, "Application", StringComparison.OrdinalIgnoreCase)); + if (applicationIndex >= 0 && applicationIndex < firstValues.Count && !string.IsNullOrWhiteSpace(firstValues[applicationIndex])) + process = firstValues[applicationIndex]; + bool hasCsvDuration = false; + int aggregateDurationIndex = headers.FindIndex(h => string.Equals(h, AggregateDurationColumn, StringComparison.OrdinalIgnoreCase)); + if (aggregateDurationIndex >= 0 && aggregateDurationIndex < firstValues.Count && + TryParseDouble(firstValues[aggregateDurationIndex], out double aggregateDuration)) + { + durationSeconds = Math.Max(0, aggregateDuration); + hasCsvDuration = true; + } + int dateTimeIndex = headers.FindIndex(h => string.Equals(h, "TimeInDateTime", StringComparison.OrdinalIgnoreCase)); + if (!hasCsvDuration && dateTimeIndex >= 0 && dateTimeIndex < firstValues.Count && dateTimeIndex < lastValues.Count && + DateTime.TryParse(firstValues[dateTimeIndex], CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out var start) && + DateTime.TryParse(lastValues[dateTimeIndex], CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out var end)) + { + durationSeconds = Math.Max(0, (end - start).TotalSeconds); + hasCsvDuration = true; + } + int timeSecondsIndex = headers.FindIndex(h => string.Equals(h, "TimeInSeconds", StringComparison.OrdinalIgnoreCase)); + if (!hasCsvDuration && timeSecondsIndex >= 0 && timeSecondsIndex < firstValues.Count && timeSecondsIndex < lastValues.Count && + TryParseDouble(firstValues[timeSecondsIndex], out double firstTimeSeconds) && + TryParseDouble(lastValues[timeSecondsIndex], out double lastTimeSeconds)) + { + durationSeconds = Math.Max(0, lastTimeSeconds - firstTimeSeconds); + } + } + catch + { + } + return (process, durationSeconds); + } + private async void RecordingsTreeGrid_SelectionChanged(object sender, Syncfusion.UI.Xaml.Grids.GridSelectionChangedEventArgs e) + { + var items = GetSelectedRecordings(); + ViewModel.SetSelectedRecordings(items); + ViewModel.ClearAnalysis(); + ViewModel.RefreshChartColors(); + ViewModel.ResultsRows.Clear(); + if (items.Count is 0 or > 2) + return; + if (ViewModel.ActiveTab == "Analysis") + await RenderAnalysisChartsForSelection(items); + else if (ViewModel.ActiveTab == "Results") + await RefreshResultsTable(); + } + private async void RecordingsTreeGrid_CurrentCellEndEdit(object sender, CurrentCellEndEditEventArgs e) + { + if (!string.Equals(RecordingsTreeGrid.CurrentColumn?.MappingName, nameof(RecordingItem.Title), StringComparison.Ordinal)) + return; + if (RecordingsTreeGrid.CurrentItem is not RecordingItem recording) + return; + string oldPath = recording.FilePath; + string oldTitle = Path.GetFileNameWithoutExtension(oldPath); + string requestedTitle = recording.Title.Trim(); + if (string.IsNullOrWhiteSpace(requestedTitle)) + { + recording.Title = oldTitle; + return; + } + if (string.Equals(requestedTitle, oldTitle, StringComparison.Ordinal)) + return; + string safeTitle = string.Join("_", + requestedTitle.Split(Path.GetInvalidFileNameChars(), StringSplitOptions.RemoveEmptyEntries)); + if (string.IsNullOrWhiteSpace(safeTitle)) + { + recording.Title = oldTitle; + return; + } + string newPath = Path.Combine(Path.GetDirectoryName(oldPath)!, safeTitle + ".csv"); + try + { + File.Move(oldPath, newPath, overwrite: false); + recording.FilePath = newPath; + recording.FileName = Path.GetFileName(newPath); + recording.Title = safeTitle; + LoadRecordings(); + } + catch (Exception ex) + { + recording.Title = oldTitle; + await new ContentDialog + { + Title = "Recording Error", + Content = $"Rename failed: {ex.Message}", + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + } + } + private async void DeleteRecordingFlyoutItem_Click(object sender, RoutedEventArgs e) + { + if (sender is not MenuFlyoutItem item) + return; + string filePath = string.Empty; + if (item.CommandParameter is GridRecordContextFlyoutInfo { Record: RecordingItem recording }) + filePath = recording.FilePath; + else if (item.DataContext is GridRecordContextFlyoutInfo { Record: RecordingItem dataContextRecording }) + filePath = dataContextRecording.FilePath; + else if (RecordingsTreeGrid.CurrentItem is RecordingItem currentRecording) + filePath = currentRecording.FilePath; + if (string.IsNullOrWhiteSpace(filePath) || !File.Exists(filePath)) + return; + var dialog = new ContentDialog + { + Title = "Delete Recording", + Content = $"Confirm that you want to delete {Path.GetFileName(filePath)}.", + PrimaryButtonText = "Delete", + CloseButtonText = "Cancel", + DefaultButton = ContentDialogButton.Close, + XamlRoot = XamlRoot + }; + var result = await dialog.ShowAsync(); + if (result != ContentDialogResult.Primary) + return; + try + { + File.Delete(filePath); + LoadRecordings(); + } + catch (Exception ex) + { + await new ContentDialog + { + Title = "Recording Error", + Content = $"Delete failed: {ex.Message}", + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + } + } + // ── Aggregate ──────────────────────────────────────────────────────────── + private async void Aggregate_Click(object sender, RoutedEventArgs e) + { + var selected = GetSelectedRecordings(); + + string processName = selected[0].Process; + if (selected.Any(recording => !string.Equals(recording.Process, processName, StringComparison.OrdinalIgnoreCase))) + { + await new ContentDialog + { + Title = "Recording Error", + Content = "Only recordings from the same process can be aggregated.", + CloseButtonText = "OK", + XamlRoot = XamlRoot + }.ShowAsync(); + return; + } + string outPath = Path.Combine(RecordingsDirectory, $"PresentMon_Aggregated_{DateTime.Now:yyyyMMdd_HHmmss}.csv"); + var fileData = new List<(List Rows, List HeaderList)>(); + foreach (var item in selected) + { + var lines = await File.ReadAllLinesAsync(item.FilePath); + if (lines.Length == 0) continue; + var headerList = ParseCsvLine(lines[0]); + List rows = [.. lines.Skip(1).Select(l => ParseCsvLine(l).ToArray())]; + fileData.Add((rows, headerList)); + } + if (fileData.Count < 2) throw new Exception("Not enough data to aggregate."); + List headerCols = [.. fileData[0].HeaderList]; + int applicationIndex = headerCols.FindIndex(header => string.Equals(header, "Application", StringComparison.OrdinalIgnoreCase)); + if (applicationIndex < 0) + { + applicationIndex = headerCols.Count; + headerCols.Add("Application"); + } + int aggregateDurationIndex = headerCols.FindIndex(header => string.Equals(header, AggregateDurationColumn, StringComparison.OrdinalIgnoreCase)); + if (aggregateDurationIndex < 0) + { + aggregateDurationIndex = headerCols.Count; + headerCols.Add(AggregateDurationColumn); + } + double meanDurationSeconds = selected.Average(recording => recording.DurationSeconds); + int maxRows = fileData.Max(f => f.Rows.Count); + await using (var writer = new StreamWriter(outPath)) + { + await writer.WriteLineAsync(string.Join(",", headerCols)); + for (int r = 0; r < maxRows; r++) + { + var averagedRow = new string[headerCols.Count]; + for (int c = 0; c < headerCols.Count; c++) + { + if (c == applicationIndex) + { + averagedRow[c] = processName; + continue; + } + if (c == aggregateDurationIndex) + { + averagedRow[c] = meanDurationSeconds.ToString(CultureInfo.InvariantCulture); + continue; + } + double sum = 0; + int count = 0; + foreach (var (rows, _) in fileData) + { + if (r < rows.Count && c < rows[r].Length && + TryParseDouble(rows[r][c], out double value)) + { + sum += value; + count++; + } + } + if (count > 0) + averagedRow[c] = (sum / count).ToString(CultureInfo.InvariantCulture); + else if (r < fileData[0].Rows.Count && c < fileData[0].Rows[r].Length) + averagedRow[c] = fileData[0].Rows[r][c]; + else + averagedRow[c] = string.Empty; + } + await writer.WriteLineAsync(string.Join(",", averagedRow)); + } + } + LoadRecordings(); + } + // ── Analyse ────────────────────────────────────────────────────────────── + private Task RenderAnalysisChartsForSelection(List items) + { + if (items.Count is <= 0 or > 2 || ViewModel.ActiveTab != "Analysis") + return Task.CompletedTask; + return RenderAnalysisCharts(items); + } + private async void MetricComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + var items = GetSelectedRecordings(); + if (items.Count == 0 || ViewModel.ActiveTab != "Analysis") + return; + await RenderMetricChart(items); + } + private async void FpsMetricComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + var items = GetSelectedRecordings(); + if (items.Count == 0 || ViewModel.ActiveTab != "Analysis") + return; + await RenderFpsChart(items); + } + private void HeaderFpsColorPicker_ColorChanged(object sender, DevWinUI.DropdownColorPickerColorChangedEventArgs e) + { + ViewModel.FpsColor = e.Color; + } + private void HeaderFpsColorPicker2_ColorChanged(object sender, DevWinUI.DropdownColorPickerColorChangedEventArgs e) + { + ViewModel.FpsColor2 = e.Color; + } + // ── Data model for analysis results ────────────────────────────────────── + /// + /// Describes whether a column's native unit is milliseconds or FPS. + /// + private enum NativeUnit { Milliseconds, Fps } + private sealed record AnalysisModel( + NativeUnit FpsNativeUnit, + List<(string recordingName, List<(int x, double y)> points)> MetricSeries, + List<(string recordingName, Dictionary stats)> FpsStatsSeries); + private sealed record ChartPresentation( + List FpsBars1, + List FpsBars2, + bool ShowFps2, + string FpsLabel1, + string FpsLabel2, + List MetricPts1, + List MetricPts2, + bool ShowMetric2, + string MetricLabel1, + string MetricLabel2, + string FpsYAxisLabel, + string FpsLabelFormat, + string MetricYAxisLabel); + private async Task RenderAnalysisCharts(List items) + { + if (ViewModel.ActiveTab != "Analysis") + return; + if (items.Count is 0 or > 2) + { + ClearAnalysisCharts(); + return; + } + var presentation = await CreateAnalysisPresentation(items); + if (ViewModel.ActiveTab != "Analysis" || !IsCurrentSelection(items)) + return; + if (presentation == null) + { + ClearAnalysisCharts(); + return; + } + ApplyAnalysisChartPresentation(presentation); + } + private async Task RenderFpsChart(List items) + { + var presentation = await CreateAnalysisPresentation(items); + if (presentation is not null && + ViewModel.ActiveTab == "Analysis" && + IsCurrentSelection(items)) + ApplyFpsChartPresentation(presentation); + } + private async Task RenderMetricChart(List items) + { + var presentation = await CreateAnalysisPresentation(items); + if (presentation is not null && + ViewModel.ActiveTab == "Analysis" && + IsCurrentSelection(items)) + ApplyMetricChartPresentation(presentation); + } + private bool IsCurrentSelection(List items) + { + var selected = GetSelectedRecordings(); + return selected.Count == items.Count && + selected.All(current => items.Any(original => + string.Equals(original.FilePath, current.FilePath, StringComparison.OrdinalIgnoreCase))); + } + private Task CreateAnalysisPresentation(List items) + { + string metric = Metric1ComboBox.SelectedItem as string ?? string.Empty; + string fpsMetric = FpsMetricComboBox.SelectedItem as string ?? "Displayed FPS"; + if (string.IsNullOrWhiteSpace(metric) || string.IsNullOrWhiteSpace(fpsMetric)) + return Task.FromResult(null); + bool showMilliseconds = ViewModel.ShowFpsAsMilliseconds; + return Task.Run(() => BuildAnalysisPresentation( + items, + metric, + fpsMetric, + showMilliseconds)); + } + private ChartPresentation BuildAnalysisPresentation( + List items, + string metric, + string fpsMetric, + bool showMs) + { + List<(RecordingItem item, DateTime lastWriteUtc)> loaded = [.. items + .Select(item => (item, lastWriteUtc: File.Exists(item.FilePath) + ? File.GetLastWriteTimeUtc(item.FilePath) + : DateTime.MinValue)) + .Where(entry => entry.lastWriteUtc != DateTime.MinValue)]; + if (loaded.Count == 0) + return null; + string fpsColumn = GetFpsSourceColumn(fpsMetric); + if (string.IsNullOrWhiteSpace(fpsColumn) || + !loaded.Any(entry => HasMetricColumn(entry.item.FilePath, entry.lastWriteUtc, fpsColumn))) + return null; + List<(string recordingName, List<(int x, double y)> points)> metricSeries = []; + List<(string recordingName, Dictionary stats)> fpsStatsSeries = []; + string metricColumn = GetFpsSourceColumn(metric); + for (int recordingIndex = 0; recordingIndex < loaded.Count; recordingIndex++) + { + var (item, lastWriteUtc) = loaded[recordingIndex]; + LoadMetricColumn(item.FilePath, lastWriteUtc, metricColumn, out var rawMetricValues); + List metricValues = [.. rawMetricValues]; + if (IsFpsMetric(metric)) + { + for (int index = 0; index < metricValues.Count; index++) + { + if (metricValues[index] > 0) + metricValues[index] = 1000.0 / metricValues[index]; + } + } + if (metricValues.Count > 0) + { + const int maxPoints = 800; + int step = Math.Max(1, metricValues.Count / maxPoints); + var points = new List<(int x, double y)>( + Math.Min(maxPoints, (metricValues.Count + step - 1) / step)); + for (int index = 0; index < metricValues.Count; index += step) + points.Add((index, metricValues[index])); + int finalIndex = metricValues.Count - 1; + if (points[^1].x != finalIndex) + points.Add((finalIndex, metricValues[finalIndex])); + metricSeries.Add((item.FileName, points)); + } + List fpsValues; + if (string.Equals(fpsColumn, metricColumn, StringComparison.OrdinalIgnoreCase)) + fpsValues = [.. rawMetricValues]; + else + LoadMetricColumn(item.FilePath, lastWriteUtc, fpsColumn, out fpsValues); + List displayValues = showMs + ? [.. fpsValues.Where(value => value > 0)] + : [.. fpsValues.Where(value => value > 0).Select(value => 1000.0 / value)]; + if (displayValues.Count == 0) + continue; + var ordered = displayValues.OrderBy(value => value).ToArray(); + var stats = new Dictionary(StringComparer.OrdinalIgnoreCase); + if (TryGetPercentileFromSorted(ordered, 99.9, out var p999)) stats["P99.9"] = p999; + if (TryGetPercentileFromSorted(ordered, 99.0, out var p99)) stats["P99"] = p99; + if (TryGetPercentileFromSorted(ordered, 95.0, out var p95)) stats["P95"] = p95; + if (TryGetPercentileFromSorted(ordered, 90.0, out var p90)) stats["P90"] = p90; + if (TryGetPercentileFromSorted(ordered, 50.0, out var p50)) stats["P50"] = p50; + if (TryGetPercentileFromSorted(ordered, 10.0, out var p10)) stats["P10"] = p10; + if (TryGetPercentileFromSorted(ordered, 5.0, out var p5)) stats["P5"] = p5; + if (TryGetPercentileFromSorted(ordered, 1.0, out var p1)) stats["P1"] = p1; + if (TryGetPercentileFromSorted(ordered, 0.1, out var p01)) stats["P0.1"] = p01; + stats["Mean"] = displayValues.Average(); + fpsStatsSeries.Add((item.FileName, stats)); + } + return BuildChartPresentation( + new AnalysisModel( + showMs ? NativeUnit.Milliseconds : NativeUnit.Fps, + metricSeries, + fpsStatsSeries), + showMs, + metric); + } + private static ChartPresentation BuildChartPresentation(AnalysisModel model, bool showMs, string metric1) + { + string[] order = ["P99.9", "P99", "P95", "P90", "P50", "P10", "P5", "P1", "P0.1", "Mean"]; + List fpsBars1 = []; + List fpsBars2 = []; + bool showFps2 = false; + string fpsLabel1 = string.Empty; + string fpsLabel2 = string.Empty; + double maxDisplayVal = 0; + if (model.FpsStatsSeries.Count > 0) + { + int seriesIdx = 0; + foreach (var (recordingName, stats) in model.FpsStatsSeries) + { + var target = seriesIdx == 0 ? fpsBars1 : fpsBars2; + if (seriesIdx == 1) + showFps2 = true; + foreach (var k in order) + { + if (!stats.TryGetValue(k, out var nativeVal)) + continue; + double displayVal = ConvertForDisplay(nativeVal, model.FpsNativeUnit, showMs); + target.Add(new BarPoint { Label = k, Value = displayVal }); + if (displayVal > maxDisplayVal) + maxDisplayVal = displayVal; + } + if (seriesIdx == 0) fpsLabel1 = recordingName; + else fpsLabel2 = recordingName; + seriesIdx++; + } + } + List metricPts1 = []; + List metricPts2 = []; + bool showMetric2 = false; + string metricLabel1 = string.Empty; + string metricLabel2 = string.Empty; + if (model.MetricSeries.Count > 0) + { + int seriesIdx = 0; + foreach (var (recordingName, points) in model.MetricSeries) + { + var target = seriesIdx == 0 ? metricPts1 : metricPts2; + if (seriesIdx == 1) + showMetric2 = true; + foreach (var (x, y) in points) + target.Add(new SeriesPoint { Index = x, Value = y }); + if (seriesIdx == 0) metricLabel1 = recordingName; + else metricLabel2 = recordingName; + seriesIdx++; + } + } + return new ChartPresentation( + fpsBars1, + fpsBars2, + showFps2, + fpsLabel1, + fpsLabel2, + metricPts1, + metricPts2, + showMetric2, + metricLabel1, + metricLabel2, + showMs ? "ms" : "FPS", + showMs ? "0.## ms" : "0.# FPS", + IsFpsMetric(metric1) ? "FPS" : "Milliseconds (ms)"); + } + + private void ApplyAnalysisChartPresentation(ChartPresentation presentation) + { + if (ViewModel.ActiveTab != "Analysis") + return; + ApplyFpsChartPresentation(presentation); + ApplyMetricChartPresentation(presentation); + } + private void ApplyFpsChartPresentation(ChartPresentation presentation) + { + FpsChart1Series.EnableAnimation = false; + FpsChart2Series.EnableAnimation = false; + FpsChart1Series.EnableAnimation = true; + FpsChart2Series.EnableAnimation = true; + ViewModel.FpsChartYAxisLabel = presentation.FpsYAxisLabel; + ViewModel.FpsChartLabelFormat = presentation.FpsLabelFormat; + ViewModel.FpsChartLabel = presentation.FpsLabel1; + ViewModel.FpsChartLabel2 = presentation.FpsLabel2; + ViewModel.ShowFpsChart2 = presentation.ShowFps2; + ViewModel.FpsBarSeries = [.. presentation.FpsBars1]; + ViewModel.FpsBarSeries2 = [.. presentation.FpsBars2]; + FpsChart.InvalidateMeasure(); + } + private void ApplyMetricChartPresentation(ChartPresentation presentation) + { + ViewModel.MetricChartYAxisLabel = presentation.MetricYAxisLabel; + ViewModel.MetricChartLabel = presentation.MetricLabel1; + ViewModel.MetricChartLabel2 = presentation.MetricLabel2; + ViewModel.ShowMetricChart2 = presentation.ShowMetric2; + ViewModel.MetricLineSeries = [.. presentation.MetricPts1]; + ViewModel.MetricLineSeries2 = [.. presentation.MetricPts2]; + } + private static double ConvertForDisplay(double nativeValue, NativeUnit nativeUnit, bool showMs) + { + if (nativeValue <= 0) + return 0; + if (nativeUnit == NativeUnit.Milliseconds) + { + // Native is ms. If showing ms, display as-is. If showing FPS, convert. + return showMs ? nativeValue : 1000.0 / nativeValue; + } + else + { + // Native is FPS. If showing FPS, display as-is. If showing ms, convert. + return showMs ? 1000.0 / nativeValue : nativeValue; + } + } + private static bool IsFpsMetric(string metric) => + metric.EndsWith("FPS", StringComparison.OrdinalIgnoreCase) || + metric.Contains("FPS", StringComparison.OrdinalIgnoreCase); + private static string GetFpsSourceColumn(string metric) => metric switch + { + "Displayed FPS" => "MsBetweenDisplayChange", + "Rendered FPS" => "MsBetweenPresents", + _ => metric + }; + private void ClearAnalysisCharts() + { + ViewModel.ClearAnalysis(); + } + // ── Results tab ────────────────────────────────────────────────────────── + private static void ApplyResultComparisons(IEnumerable rows, bool comparisonEnabled) + { + if (!comparisonEnabled) + return; + foreach (var row in rows) + { + if (!double.TryParse(row.RecordingA, NumberStyles.Float, CultureInfo.InvariantCulture, out double recordingA) || + !double.TryParse(row.RecordingB, NumberStyles.Float, CultureInfo.InvariantCulture, out double recordingB) || + recordingA == recordingB) + { + continue; + } + bool higherIsBetter = row.Metric.EndsWith(" FPS", StringComparison.Ordinal); + bool recordingAIsBetter = higherIsBetter ? recordingA > recordingB : recordingA < recordingB; + row.RecordingAComparison = recordingAIsBetter ? ResultComparison.Better : ResultComparison.Worse; + row.RecordingBComparison = recordingAIsBetter ? ResultComparison.Worse : ResultComparison.Better; + } + } + private static List GroupResultRows(IEnumerable rows) + { + List groups = []; + var groupLookup = new Dictionary(StringComparer.Ordinal); + foreach (var row in rows) + { + var (groupName, childLabel) = GetResultGroup(row.Metric); + if (!groupLookup.TryGetValue(groupName, out var group)) + { + group = new ResultRow { Metric = groupName }; + groupLookup[groupName] = group; + groups.Add(group); + } + group.Children.Add(new ResultRow + { + Metric = childLabel, + RecordingA = row.RecordingA, + RecordingB = row.RecordingB, + RecordingAComparison = row.RecordingAComparison, + RecordingBComparison = row.RecordingBComparison + }); + } + return groups; + } + private static (string Group, string ChildLabel) GetResultGroup(string label) + { + if (label.StartsWith("Displayed ", StringComparison.Ordinal)) + return ("Displayed FPS", label["Displayed ".Length..]); + if (label.StartsWith("Rendered ", StringComparison.Ordinal)) + return ("Rendered FPS", label["Rendered ".Length..]); + if (label.Equals("Average MsBetweenDisplayChange", StringComparison.Ordinal)) + return ("MsBetweenDisplayChange", "Average"); + if (label.StartsWith("MsBetweenDisplayChange ", StringComparison.Ordinal)) + return ("MsBetweenDisplayChange", label["MsBetweenDisplayChange ".Length..]); + if (label.Equals("Average MsBetweenPresents", StringComparison.Ordinal)) + return ("MsBetweenPresents", "Average"); + if (label.StartsWith("MsBetweenPresents ", StringComparison.Ordinal)) + return ("MsBetweenPresents", label["MsBetweenPresents ".Length..]); + if (label.Equals("Average MsGPUBusy", StringComparison.Ordinal)) + return ("MsGPUBusy", "Average"); + if (label.StartsWith("MsGPUBusy ", StringComparison.Ordinal)) + return ("MsGPUBusy", label["MsGPUBusy ".Length..]); + if (label.Equals("Average MsUntilDisplayed", StringComparison.Ordinal)) + return ("MsUntilDisplayed", "Average"); + if (label.StartsWith("MsUntilDisplayed ", StringComparison.Ordinal)) + return ("MsUntilDisplayed", label["MsUntilDisplayed ".Length..]); + return ("Other", label); + } + private async Task RefreshResultsTable() + { + if (ViewModel.ActiveTab != "Results") + return; + var selected = GetSelectedRecordings(); + if (selected.Count == 0) + { + ViewModel.ResultsRows.Clear(); + ViewModel.RecordingAHeader = "Recording A"; + ViewModel.RecordingBHeader = "Recording B"; + RecordingBColumn.IsHidden = true; + return; + } + if (selected.Count > 2) + { + ViewModel.ResultsRows.Clear(); + ViewModel.RecordingAHeader = "Recording A"; + ViewModel.RecordingBHeader = "Recording B"; + RecordingBColumn.IsHidden = true; + return; + } + ViewModel.RecordingAHeader = selected.Count >= 1 ? selected[0].Title : "Recording A"; + ViewModel.RecordingBHeader = selected.Count >= 2 ? selected[1].Title : "Recording B"; + RecordingBColumn.IsHidden = selected.Count < 2; + var builtRows = await Task.Run(() => + { + List<(RecordingItem item, DateTime lastWriteUtc, Dictionary averages)> loaded = []; + List resultRows = []; + foreach (var i in selected.Take(2)) + { + var lastWriteUtc = File.Exists(i.FilePath) ? File.GetLastWriteTimeUtc(i.FilePath) : DateTime.MinValue; + if (lastWriteUtc != DateTime.MinValue && LoadNumericAverages(i.FilePath, lastWriteUtc, out var avg)) + loaded.Add((i, lastWriteUtc, avg)); + } + if (loaded.Count == 0) + return (loaded, rows: resultRows); + // Correct order: Mean, P0.1, P1, P5, P10, P50, P90, P95, P99, P99.9 + // Add Displayed FPS percentiles + foreach (var percentileLabel in PercentileLabels) + { + string rowLabel = $"Displayed {percentileLabel} FPS"; + string recordingA = "-"; + string recordingB = loaded.Count < 2 ? string.Empty : "-"; + for (int c = 0; c < loaded.Count; c++) + { + var (item, lastWriteUtc, averages) = loaded[c]; + string value = GetFpsPercentileValue(item.FilePath, lastWriteUtc, "MsBetweenDisplayChange", percentileLabel); + if (c == 0) + recordingA = value; + else + recordingB = value; + } + resultRows.Add(new ResultRow { Metric = rowLabel, RecordingA = recordingA, RecordingB = recordingB }); + } + // Add Displayed FPS time series stats + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("Displayed CV", "MsBetweenDisplayChange", loaded, s => s.cv), + CreateTimeSeriesStatRow("Displayed RMSSD", "MsBetweenDisplayChange", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("Displayed Stepwise-Relative", "MsBetweenDisplayChange", loaded, s => s.stepwiseRelSD) + ]); + // Add MsBetweenDisplayChange stats + resultRows.Add(CreateMetricRow("Average MsBetweenDisplayChange", "MsBetweenDisplayChange", loaded)); + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("MsBetweenDisplayChange SD", "MsBetweenDisplayChange", loaded, s => s.stdDev), + CreateTimeSeriesStatRow("MsBetweenDisplayChange CV", "MsBetweenDisplayChange", loaded, s => s.cv), + CreateTimeSeriesStatRow("MsBetweenDisplayChange RMSSD", "MsBetweenDisplayChange", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("MsBetweenDisplayChange Stepwise-Relative", "MsBetweenDisplayChange", loaded, s => s.stepwiseRelSD) + ]); + // Add Rendered FPS percentiles + foreach (var percentileLabel in PercentileLabels) + { + string rowLabel = $"Rendered {percentileLabel} FPS"; + string recordingA = "-"; + string recordingB = loaded.Count < 2 ? string.Empty : "-"; + for (int c = 0; c < loaded.Count; c++) + { + var (item, lastWriteUtc, averages) = loaded[c]; + string value = GetFpsPercentileValue(item.FilePath, lastWriteUtc, "MsBetweenPresents", percentileLabel); + if (c == 0) + recordingA = value; + else + recordingB = value; + } + resultRows.Add(new ResultRow { Metric = rowLabel, RecordingA = recordingA, RecordingB = recordingB }); + } + // Add Rendered FPS time series stats + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("Rendered CV", "MsBetweenPresents", loaded, s => s.cv), + CreateTimeSeriesStatRow("Rendered RMSSD", "MsBetweenPresents", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("Rendered Stepwise-Relative", "MsBetweenPresents", loaded, s => s.stepwiseRelSD) + ]); + // Add MsBetweenPresents stats + resultRows.Add(CreateMetricRow("Average MsBetweenPresents", "MsBetweenPresents", loaded)); + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("MsBetweenPresents SD", "MsBetweenPresents", loaded, s => s.stdDev), + CreateTimeSeriesStatRow("MsBetweenPresents CV", "MsBetweenPresents", loaded, s => s.cv), + CreateTimeSeriesStatRow("MsBetweenPresents RMSSD", "MsBetweenPresents", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("MsBetweenPresents Stepwise-Relative", "MsBetweenPresents", loaded, s => s.stepwiseRelSD) + ]); + // Add MsGPUBusy stats + resultRows.Add(CreateMetricRow("Average MsGPUBusy", "MsGPUBusy", loaded)); + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("MsGPUBusy SD", "MsGPUBusy", loaded, s => s.stdDev), + CreateTimeSeriesStatRow("MsGPUBusy CV", "MsGPUBusy", loaded, s => s.cv), + CreateTimeSeriesStatRow("MsGPUBusy RMSSD", "MsGPUBusy", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("MsGPUBusy Stepwise-Relative", "MsGPUBusy", loaded, s => s.stepwiseRelSD) + ]); + // Add MsUntilDisplayed stats + resultRows.Add(CreateMetricRow("Average MsUntilDisplayed", "MsUntilDisplayed", loaded)); + resultRows.AddRange( + [ + CreateTimeSeriesStatRow("MsUntilDisplayed SD", "MsUntilDisplayed", loaded, s => s.stdDev), + CreateTimeSeriesStatRow("MsUntilDisplayed CV", "MsUntilDisplayed", loaded, s => s.cv), + CreateTimeSeriesStatRow("MsUntilDisplayed RMSSD", "MsUntilDisplayed", loaded, s => s.rmssd), + CreateTimeSeriesStatRow("MsUntilDisplayed Stepwise-Relative", "MsUntilDisplayed", loaded, s => s.stepwiseRelSD) + ]); + ApplyResultComparisons(resultRows, loaded.Count == 2); + return (loaded, rows: GroupResultRows(resultRows)); + // Helper functions + ResultRow CreateMetricRow(string label, string metric, List<(RecordingItem item, DateTime lastWriteUtc, Dictionary averages)> items) + { + string a = "-", b = items.Count < 2 ? string.Empty : "-"; + for (int i = 0; i < items.Count; i++) + { + var (item, lw, avg) = items[i]; + string val = HasResultMetric(item.FilePath, lw, metric) + ? FormatStat(GetMetricAverage(item.FilePath, lw, metric, avg), metric) + : "-"; + if (i == 0) a = val; else b = val; + } + return new ResultRow { Metric = label, RecordingA = a, RecordingB = b }; + } + ResultRow CreateTimeSeriesStatRow(string label, string metric, List<(RecordingItem item, DateTime lastWriteUtc, Dictionary averages)> items, Func<(double stepwiseRelSD, double cv, double rmssd, double stdDev), double> selector) + { + string a = "-", b = items.Count < 2 ? string.Empty : "-"; + for (int i = 0; i < items.Count; i++) + { + var (item, lw, avg) = items[i]; + string val = LoadTimeSeriesStats(item.FilePath, lw, metric, out var stats) + ? FormatTimeSeriesStat(selector(stats), label) + : "-"; + if (i == 0) a = val; else b = val; + } + return new ResultRow { Metric = label, RecordingA = a, RecordingB = b }; + } + }); + if (ViewModel.ActiveTab != "Results") + return; + var (loadedItems, resultRows) = builtRows; + if (loadedItems.Count == 0) + { + ViewModel.ResultsRows = []; + return; + } + ViewModel.ResultsRows = [.. resultRows]; + ResultsTreeGrid.ExpandAllNodes(); + } + private string GetFpsPercentileValue(string filePath, DateTime lastWriteUtc, string msMetricColumn, string percentileLabel) + { + var cacheKey = (filePath, lastWriteUtc, msMetricColumn); + lock (_cacheLock) + { + _sortedFpsCache.TryGetValue(cacheKey, out var cached); + if (cached is not null) + return FormatFpsPercentile(cached, percentileLabel); + } + if (!LoadMetricColumn(filePath, lastWriteUtc, msMetricColumn, out var msValues)) + return "-"; + var fpsValues = msValues.Where(value => value > 0).Select(value => 1000.0 / value).Order().ToArray(); + if (fpsValues.Length == 0) + return "-"; + lock (_cacheLock) + _sortedFpsCache[cacheKey] = fpsValues; + return FormatFpsPercentile(fpsValues, percentileLabel); + + static string FormatFpsPercentile(double[] fpsValues, string percentileLabel) + { + double value; + if (percentileLabel == "Mean") + { + value = fpsValues.Average(); + } + else + { + double percentile = double.Parse(percentileLabel.Replace("P", ""), CultureInfo.InvariantCulture); + if (!TryGetPercentileFromSorted(fpsValues, percentile, out value)) + return "-"; + } + return FormatStat(value, "Displayed FPS"); + } + } + private bool HasResultMetric(string filePath, DateTime lastWriteUtc, string metric) + => IsFpsMetric(metric) + ? HasMetricColumn(filePath, lastWriteUtc, GetFpsSourceColumn(metric)) + : HasMetricColumn(filePath, lastWriteUtc, metric); + /// + /// Returns the average value for a metric. FPS metrics are derived from their + /// underlying millisecond column (1000 / avg ms). + /// + private double GetMetricAverage(string filePath, DateTime lastWriteUtc, string metric, Dictionary averages) + { + string sourceColumn = GetFpsSourceColumn(metric); + if (IsFpsMetric(metric)) + { + if (LoadMetricColumn(filePath, lastWriteUtc, sourceColumn, out var values)) + { + List fpsValues = [.. values.Where(v => v > 0).Select(v => 1000.0 / v)]; + return fpsValues.Count > 0 ? fpsValues.Average() : 0; + } + return 0; + } + return averages.TryGetValue(metric, out var v) ? v : 0; + } + private static string FormatTimeSeriesStat(double value, string statLabel) + { + if (value == 0) + return "—"; + if (statLabel.Contains("Rel.", StringComparison.OrdinalIgnoreCase) || + statLabel.StartsWith("CV", StringComparison.OrdinalIgnoreCase)) + { + return value.ToString("0.#####", CultureInfo.InvariantCulture); + } + return value.ToString("0.####", CultureInfo.InvariantCulture); + } + private static string FormatStat(double value, string metric) + { + if (value == 0) + return "—"; + if (IsFpsMetric(metric)) + return value.ToString("0.###", CultureInfo.InvariantCulture); + // Default ms-like formatting + return value.ToString("0.####", CultureInfo.InvariantCulture); + } + // ── CSV loading / stats ────────────────────────────────────────────────── + private bool HasMetricColumn(string filePath, DateTime lastWriteUtc, string metric) + { + return GetHeaderIndex(filePath, lastWriteUtc, out var headerIndex) && ResolveHeaderIndex(headerIndex, metric, out _); + } + private bool GetHeaderIndex(string filePath, DateTime lastWriteUtc, out Dictionary headerIndex) + { + headerIndex = new Dictionary(StringComparer.OrdinalIgnoreCase); + if (!File.Exists(filePath)) + return false; + lock (_cacheLock) + { + if (_headerCache.TryGetValue(filePath, out var cached) && cached.LastWriteUtc == lastWriteUtc) + { + headerIndex = cached.HeaderIndex; + return true; + } + } + try + { + using var reader = new StreamReader(filePath); + var headerLine = reader.ReadLine(); + if (string.IsNullOrWhiteSpace(headerLine)) + return false; + var headers = ParseCsvLine(headerLine); + if (headers.Count == 0) + return false; + headerIndex = new Dictionary(StringComparer.OrdinalIgnoreCase); + for (int i = 0; i < headers.Count; i++) + { + var h = headers[i].Trim(); + if (string.IsNullOrEmpty(h)) + continue; + headerIndex[h] = i; + headerIndex[NormalizeHeader(h)] = i; + if (string.Equals(h, "Render Queue Depth", StringComparison.OrdinalIgnoreCase)) + headerIndex["Render Queue Depth (RQD)"] = i; + if (string.Equals(h, "Render Queue Depth (RQD)", StringComparison.OrdinalIgnoreCase)) + headerIndex["Render Queue Depth"] = i; + } + lock (_cacheLock) + { + _headerCache[filePath] = new CachedFile(filePath, lastWriteUtc, headerIndex); + } + return true; + } + catch + { + return false; + } + } + private bool LoadMetricColumn(string filePath, DateTime lastWriteUtc, string metric, out List values) + { + values = []; + if (!GetHeaderIndex(filePath, lastWriteUtc, out var headerIndex)) + return false; + if (!ResolveHeaderIndex(headerIndex, metric, out int idx)) + return false; + var key = (filePath, lastWriteUtc, metric); + lock (_cacheLock) + { + if (_columnCache.TryGetValue(key, out var cached)) + { + values = cached; + return cached.Count > 0; + } + } + try + { + using var reader = new StreamReader(filePath); + _ = reader.ReadLine(); // header + var list = new List(capacity: 4096); + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (string.IsNullOrWhiteSpace(line)) + continue; + var cols = ParseCsvLine(line); + if (idx < 0 || idx >= cols.Count) + continue; + if (TryParseDouble(cols[idx], out var v)) + list.Add(v); + } + lock (_cacheLock) + { + _columnCache[key] = list; + } + values = list; + return list.Count > 0; + } + catch + { + return false; + } + } + private static bool ResolveHeaderIndex(Dictionary headerIndex, string metric, out int idx) + { + idx = -1; + if (headerIndex.TryGetValue(metric, out idx)) + return true; + var normalized = NormalizeHeader(metric); + if (string.IsNullOrEmpty(normalized)) + return false; + return headerIndex.TryGetValue(normalized, out idx); + } + private bool LoadNumericAverages(string filePath, DateTime lastWriteUtc, out Dictionary averages) + { + averages = new Dictionary(StringComparer.OrdinalIgnoreCase); + if (!File.Exists(filePath)) + return false; + var cacheKey = (filePath, lastWriteUtc); + lock (_cacheLock) + { + if (_averagesCache.TryGetValue(cacheKey, out var cached)) + { + averages = cached; + return cached.Count > 0; + } + } + if (!GetHeaderIndex(filePath, lastWriteUtc, out var headerIndex) || headerIndex.Count == 0) + return false; + + Dictionary Values)> columns = new(StringComparer.OrdinalIgnoreCase); + ReadOnlySpan resultMetrics = ["MsBetweenDisplayChange", "MsBetweenPresents", "MsGPUBusy", "MsUntilDisplayed"]; + foreach (var metric in resultMetrics) + { + if (ResolveHeaderIndex(headerIndex, metric, out int index)) + columns[metric] = (index, new List(4096)); + } + if (columns.Count == 0) + return false; + + try + { + using var reader = new StreamReader(filePath); + _ = reader.ReadLine(); + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (string.IsNullOrWhiteSpace(line)) + continue; + var cols = ParseCsvLine(line); + foreach (var column in columns.Values) + { + if (column.Index < cols.Count && TryParseDouble(cols[column.Index], out var value)) + column.Values.Add(value); + } + } + + foreach (var (metric, column) in columns) + { + if (column.Values.Count > 0) + averages[metric] = column.Values.Average(); + } + lock (_cacheLock) + { + _averagesCache[cacheKey] = averages; + foreach (var (metric, column) in columns) + _columnCache[(filePath, lastWriteUtc, metric)] = column.Values; + } + return averages.Count > 0; + } + catch + { + return false; + } + } + private bool LoadTimeSeriesStats(string filePath, DateTime lastWriteUtc, string metric, out (double stepwiseRelSD, double cv, double rmssd, double stdDev) stats) + { + stats = (0, 0, 0, 0); + var cacheKey = (filePath, lastWriteUtc, metric); + lock (_cacheLock) + { + if (_statsCache.TryGetValue(cacheKey, out var cached)) + { + stats = cached; + return true; + } + } + if (!LoadMetricColumn(filePath, lastWriteUtc, metric, out var values)) + return false; + if (!TryComputeTimeSeriesStats(values, out stats)) + { + lock (_cacheLock) + _statsCache[cacheKey] = stats; + return false; + } + lock (_cacheLock) + _statsCache[cacheKey] = stats; + return true; + } + // ── Process name ───────────────────────────────────────────────────────── + private void UpdateProcessSuggestions() + { + string query = ProcessAutoSuggestBox.Text.Trim(); + var processNames = PresentingProcesses.GetRecordableProcesses(); + List suggestions = string.IsNullOrEmpty(query) + ? processNames + : [.. processNames.Where(name => name.Contains(query, StringComparison.OrdinalIgnoreCase))]; + ProcessAutoSuggestBox.ItemsSource = suggestions; + ProcessAutoSuggestBox.IsSuggestionListOpen = suggestions.Count > 0; + } + private void ProcessAutoSuggestBox_GotFocus(object sender, RoutedEventArgs e) + { + PresentingProcesses.Start(); + UpdateProcessSuggestions(); + } + + private void ProcessAutoSuggestBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args) + { + if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput) + UpdateProcessSuggestions(); + } + [System.Diagnostics.CodeAnalysis.SuppressMessage( + "Performance", + "CA1822:Mark members as static", + Justification = "XAML event handlers must be instance methods.")] + private void ProcessAutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args) + { + sender.Text = args.SelectedItem as string ?? string.Empty; + } + private async void BenchmarksSelectorBar_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args) + { + var selectedItem = args.SelectedItem ?? sender.SelectedItem; + if (ReferenceEquals(selectedItem, RecordingsTab)) + { + ViewModel.ActiveTab = "Recordings"; + } + else if (ReferenceEquals(selectedItem, AnalysisTab)) + { + ViewModel.ActiveTab = "Analysis"; + if (HeaderFpsColorPicker is not null) + ReapplyColorPickerTemplate(HeaderFpsColorPicker, ViewModel.FpsColor); + if (HeaderFpsColorPicker2 is not null) + ReapplyColorPickerTemplate(HeaderFpsColorPicker2, ViewModel.FpsColor2); + var selected = GetSelectedRecordings(); + ViewModel.SetSelectedRecordings(selected); + if (selected.Count is > 0 and <= 2) + await RenderAnalysisChartsForSelection(selected); + } + else if (ReferenceEquals(selectedItem, ResultsTab)) + { + ViewModel.ActiveTab = "Results"; + var selected = GetSelectedRecordings(); + ViewModel.SetSelectedRecordings(selected); + if (selected.Count is > 0 and <= 2) + await RefreshResultsTable(); + } + } + private static void ReapplyColorPickerTemplate(DevWinUI.DropdownColorPicker picker, Windows.UI.Color color) + { + var template = picker.Template; + if (template is null) + return; + + picker.Template = null; + picker.Template = template; + picker.ApplyTemplate(); + picker.Color = color; + } +} From dcb2d9b17cff36ae78abc9311146ba0afe87ed3b Mon Sep 17 00:00:00 2001 From: tinodin Date: Sat, 18 Jul 2026 23:58:38 +0200 Subject: [PATCH 02/20] Improve Color Pickers --- .../Views/Settings/BenchmarksPage.xaml | 20 +++++++++++-------- .../Views/Settings/BenchmarksPage.xaml.cs | 14 ++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml index 491f331e..a4186b40 100644 --- a/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml +++ b/src/AutoOS.App/Views/Settings/BenchmarksPage.xaml @@ -13,10 +13,6 @@ xmlns:sfgrid="using:Syncfusion.UI.Xaml.TreeGrid" mc:Ignorable="d"> - -