Ejemplo n.º 1
0
        private void AddToLShapeChart(ComparisonRecordInfoWrapper wrappedComparisonInfo)
        {
            double startTime           = FirstSeconds;
            double endTime             = LastSeconds;
            var    frametimeTimeWindow = wrappedComparisonInfo.WrappedRecordInfo.Session.GetFrametimeTimeWindow(startTime, endTime, _appConfiguration, ERemoveOutlierMethod.None);

            var lShapeQuantiles = _frametimeAnalyzer.GetLShapeQuantiles();

            double action(double q) => _frametimeStatisticProvider.GetPQuantileSequence(frametimeTimeWindow, q / 100);

            var quantiles      = lShapeQuantiles.Select(q => new ObservablePoint(q, action(q)));
            var quantileValues = new ChartValues <ObservablePoint>();

            quantileValues.AddRange(quantiles);

            ComparisonLShapeCollection.Add(
                new LineSeries
            {
                Id                = wrappedComparisonInfo.WrappedRecordInfo.FileRecordInfo.Id,
                Values            = quantileValues,
                Stroke            = wrappedComparisonInfo.IsHideModeSelected ? Brushes.Transparent : wrappedComparisonInfo.Color,
                Fill              = Brushes.Transparent,
                StrokeThickness   = 1,
                LineSmoothness    = 1,
                PointGeometrySize = 5,
                PointGeometry     = DefaultGeometries.Square,
                PointForeground   = wrappedComparisonInfo.IsHideModeSelected ? Brushes.Transparent : wrappedComparisonInfo.Color,
                LabelPoint        = chartPoint => string.Format(CultureInfo.InvariantCulture, "{0:0.##}", chartPoint.Y, "ms")
            });
        }
Ejemplo n.º 2
0
        private void AddToLShapeChart(ComparisonRecordInfoWrapper wrappedComparisonInfo)
        {
            double startTime           = FirstSeconds;
            double endTime             = _maxRecordingTime - LastSeconds;
            var    frametimeTimeWindow = wrappedComparisonInfo.WrappedRecordInfo.Session.GetFrametimeTimeWindow(startTime, endTime, ERemoveOutlierMethod.None);

            var lShapeQuantiles = _frametimeAnalyzer.GetLShapeQuantiles();

            double action(double q) => _frametimeStatisticProvider.GetPQuantileSequence(frametimeTimeWindow, q / 100);

            var quantiles      = lShapeQuantiles.Select(q => new ObservablePoint(q, action(q)));
            var quantileValues = new ChartValues <ObservablePoint>();

            quantileValues.AddRange(quantiles);

            Application.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                ComparisonLShapeCollection.Add(
                    new LineSeries
                {
                    Values            = quantileValues,
                    Stroke            = wrappedComparisonInfo.Color,
                    Fill              = Brushes.Transparent,
                    StrokeThickness   = 1,
                    LineSmoothness    = 1,
                    PointGeometrySize = 10,
                    PointGeometry     = DefaultGeometries.Triangle,
                });
            }));
        }
Ejemplo n.º 3
0
        private void UpdateCharts()
        {
            if (!_doUpdateCharts)
            {
                return;
            }

            ComparisonModel.Series.Clear();
            ComparisonLShapeCollection.Clear();

            SetFrametimeChart();
            Task.Factory.StartNew(() => SetLShapeChart());
            SetColumnChart();
        }
Ejemplo n.º 4
0
        private void UpdateCharts()
        {
            if (!_doUpdateCharts)
            {
                return;
            }

            ResetBarChartSeriesTitles();
            ComparisonModel.Series.Clear();
            ComparisonLShapeCollection.Clear();

            if (SelectedChartItem.Header.ToString() == "Bar charts")
            {
                SetColumnChart();
            }
            else
            {
                SetFrametimeChart();
                SetLShapeChart();
            }
        }