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);
        }