コード例 #1
0
 public void Update(double deltaSec)
 {
     foreach (var system in LogicSystems)
     {
         if (system.IsEnabled)
         {
             system.Update(deltaSec);
             CommandRecorder.Execute(World);
         }
     }
 }
コード例 #2
0
        public void Update(double deltaSec)
        {
            foreach (var system in PreLogicSystems)
            {
                var stopwatch = Stopwatch.StartNew();
                if (system.IsEnabled)
                {
                    system.PreUpdate(deltaSec);
                    CommandRecorder.Execute(World);
                }
                stopwatch.Stop();
                if (stopwatch.Elapsed.TotalMilliseconds > 1)
                {
                    Utilties.Logging.Metrics.LogMetric($"LogicSystems:{system.GetType().Name}:Time", stopwatch.Elapsed.TotalMilliseconds, TimeSpan.FromSeconds(5));
                }
            }

            foreach (var system in LogicSystems)
            {
                var stopwatch = Stopwatch.StartNew();
                if (system.IsEnabled)
                {
                    system.Update(deltaSec);
                    CommandRecorder.Execute(World);
                }
                stopwatch.Stop();
                if (stopwatch.Elapsed.TotalMilliseconds > 1)
                {
                    Utilties.Logging.Metrics.LogMetric($"LogicSystems:{system.GetType().Name}:Time", stopwatch.Elapsed.TotalMilliseconds, TimeSpan.FromSeconds(5));
                }
            }

            foreach (var system in PostLogicSystems)
            {
                var stopwatch = Stopwatch.StartNew();
                if (system.IsEnabled)
                {
                    system.PostUpdate(deltaSec);
                    CommandRecorder.Execute(World);
                }
                stopwatch.Stop();
                if (stopwatch.Elapsed.TotalMilliseconds > 1)
                {
                    Utilties.Logging.Metrics.LogMetric($"LogicSystems:{system.GetType().Name}:Time", stopwatch.Elapsed.TotalMilliseconds, TimeSpan.FromSeconds(5));
                }
            }
        }