Example #1
0
        public static IList <Point> GetFpsPointsTimeWindow(this ISession session, double startTime, double endTime,
                                                           IFrametimeStatisticProviderOptions options, ERemoveOutlierMethod eRemoveOutlierMethod = ERemoveOutlierMethod.None,
                                                           EFilterMode filterMode = EFilterMode.None)
        {
            IList <Point> fpsPoints               = null;
            var           frametimePoints         = session.GetFrametimePointsTimeWindow(startTime, endTime, options, eRemoveOutlierMethod);
            var           intervalFrametimePoints = session.GetFrametimePointsTimeWindow(0, endTime, options, eRemoveOutlierMethod);

            switch (filterMode)
            {
            case EFilterMode.TimeIntervalAverage:
                var timeIntervalAverageFilter = new IntervalTimeAverageFilter(options.IntervalAverageWindowTime);
                var timeIntervalAveragePoints = timeIntervalAverageFilter
                                                .ProcessSamples(intervalFrametimePoints.Select(pnt => pnt.Y).ToList(), startTime * 1000, endTime * 1000, session.Runs.SelectMany(r => r.CaptureData.TimeInSeconds).Last() * 1000);
                fpsPoints = timeIntervalAveragePoints.Select(pnt => new Point(pnt.X / 1000, 1000 / pnt.Y)).ToList();
                break;

            default:
                fpsPoints = frametimePoints.Select(pnt => new Point(pnt.X, 1000 / pnt.Y)).ToList();
                break;
            }

            return(fpsPoints);
        }
 public FrametimePlotBuilder(IFrametimeStatisticProviderOptions options, IStatisticProvider frametimeStatisticProvider) : base(options, frametimeStatisticProvider)
 {
 }
Example #3
0
 public PlotBuilder(IFrametimeStatisticProviderOptions options, IStatisticProvider frametimeStatisticProvider)
 {
     _frametimeStatisticProviderOptions = options;
     _frametimesStatisticProvider       = frametimeStatisticProvider;
 }
Example #4
0
        public static IList <Point> GetFrametimePointsTimeWindow(this ISession session, double startTime, double endTime, IFrametimeStatisticProviderOptions options, ERemoveOutlierMethod eRemoveOutlierMethod = ERemoveOutlierMethod.None)
        {
            IList <Point> frametimesPointsWindow     = new List <Point>();
            var           frametimeStatisticProvider = new FrametimeStatisticProvider(options);

            var frametimes  = frametimeStatisticProvider?.GetOutlierAdjustedSequence(session.Runs.SelectMany(r => r.CaptureData.MsBetweenPresents).ToArray(), eRemoveOutlierMethod);
            var frameStarts = session.Runs.SelectMany(r => r.CaptureData.TimeInSeconds).ToArray();

            if (frametimes.Any() && frameStarts.Any())
            {
                for (int i = 0; i < frametimes.Count(); i++)
                {
                    if (frameStarts[i] >= startTime && frameStarts[i] <= endTime)
                    {
                        frametimesPointsWindow.Add(new Point(frameStarts[i], frametimes[i]));
                    }
                }
            }

            return(frametimesPointsWindow);
        }
Example #5
0
 public FrametimeStatisticProvider(IFrametimeStatisticProviderOptions options)
 {
     _options = options;
 }
 public static IList <Point> GetFpsPointTimeWindow(this ISession session, double startTime, double endTime, IFrametimeStatisticProviderOptions options, ERemoveOutlierMethod eRemoveOutlierMethod = ERemoveOutlierMethod.None)
 {
     return(session.GetFrametimePointsTimeWindow(startTime, endTime, options, eRemoveOutlierMethod).Select(pnt => new Point(pnt.X, 1000 / pnt.Y)).ToList());
 }