Beispiel #1
0
        public ImageScene()
        {
            InitializeComponent();

            Logger = new SimpleLogger();
            Logger.MessageLoggedEvent += UpdateLog;

            FrameRateManager = new FrameRateManager();
            FrameRateManager.FrameRateUpdated += UpdateFrameRate;

            ViewModel = new ImageSceneViewModel(Logger, FrameRateManager);
        }
Beispiel #2
0
        void FrameArrived(MediaFrameReader sender, MediaFrameArrivedEventArgs args)
        {
            if (AcquiringFrame)
            {
                return;
            }

            AcquiringFrame = true;

            var frameStopWatch = Stopwatch.StartNew();

            using (var frame = sender.TryAcquireLatestFrame()) {
                var task = ProcessFrameAsync(frame);
            }

            frameStopWatch.Stop();

            FrameRateManager.Increment(frameStopWatch.ElapsedMilliseconds);

            AcquiringFrame = false;
        }