private void OnWindowLoaded(object sender, RoutedEventArgs e) { Topmost = Settings.Default.AlwaysOnTop; AlwaysOnTopMenuItem.IsChecked = Topmost; var sensors = UpdateSensors(); var powerLimit = sensors.FirstOrDefault(s => s.Identifier.ToString().Contains("power") && s.Name.Contains("PL1"))?.Value; var powerMax = 45; if (powerLimit.HasValue) { powerMax = (int)(Math.Ceiling((powerLimit.Value * 1.25f + 5) / 10.0f) * 10); } _powerLimitGraph = new SimpleGraph { Canvas = PowerCanvas, AxisCanvas = PowerAxis, Thin = true, Min = 0, Max = powerMax }; _pkgPowerGraph = new SimpleGraph { Primary = _powerLimitGraph, Canvas = PowerCanvas }; _corePowerGraph = new SimpleGraph { Primary = _powerLimitGraph, Canvas = PowerCanvas }; _dramPowerGraph = new SimpleGraph { Primary = _powerLimitGraph, Canvas = PowerCanvas }; _powerLimitGraph.Init(); _pkgPowerGraph.Init(); _corePowerGraph.Init(); _dramPowerGraph.Init(); _avgFreqGraph = new SimpleGraph { Canvas = FreqCanvas, AxisCanvas = FreqAxis, Min = 0.0f, Max = _turboClock, NoScale = true }; _baseFreqGraph = new SimpleGraph { Primary = _avgFreqGraph, Canvas = FreqCanvas, Thin = true, DefaultValue = _baseClock }; _minFreqGraph = new SimpleGraph { Primary = _avgFreqGraph, Canvas = FreqCanvas }; _maxFreqGraph = new SimpleGraph { Primary = _avgFreqGraph, Canvas = FreqCanvas, }; _avgFreqGraph.Init(); _baseFreqGraph.Init(); _minFreqGraph.Init(); _maxFreqGraph.Init(); _pkgTempGraph = new SimpleGraph { Canvas = TempCanvas, AxisCanvas = TempAxis, Min = 30, Max = 100 }; _pkgTempGraph.Init(); _coreUtilGraph = new SimpleGraph { Canvas = UtilCanvas, AxisCanvas = UtilAxis, Min = 0, Max = 100 }; _coreUtilGraph.Init(); PkgPowerPath.Data = _pkgPowerGraph.Geometry; PowerLimitPath.Data = _powerLimitGraph.Geometry; CorePowerPath.Data = _corePowerGraph.Geometry; DramPowerPath.Data = _dramPowerGraph.Geometry; BaseFreqPath.Data = _baseFreqGraph.Geometry; AvgFreqPath.Data = _avgFreqGraph.Geometry; MinFreqPath.Data = _minFreqGraph.Geometry; MaxFreqPath.Data = _maxFreqGraph.Geometry; PkgTempPath.Data = _pkgTempGraph.Geometry; CoreUtilPath.Data = _coreUtilGraph.Geometry; TimerOnElapsed(this, null); }