コード例 #1
0
ファイル: OpsPerSecond.cs プロジェクト: Eule01/OpenGlGame
        private void OnStatusTimerEvent(object sender, ElapsedEventArgs e)
        {
            long now = AccurateStopWatch.GetTimeStamp();

            if (lastStatusTime > 0)
            {
                long  timeSpan    = now - lastStatusTime;
                float deltOpCount = (opsCount - lastOpsCount);
                float frameRate   = (float)(deltOpCount / (timeSpan * AccurateStopWatch.OneOverFreq));
                if (intervalMaxTime > maxTime)
                {
                    maxTime = intervalMaxTime;
                }

                opStatus.Ops  = frameRate;
                opStatus.Load = (float)sumOpTime / timeSpan * 100.0f;

                opStatus.MissedFrames    = missedFrames;
                opStatus.AvrOpTime       = (float)(sumOpTime / deltOpCount * AccurateStopWatch.OneOverFreq);
                opStatus.MaxTime         = (float)(maxTime * AccurateStopWatch.OneOverFreq);
                opStatus.IntervalMaxTime = (float)(intervalMaxTime * AccurateStopWatch.OneOverFreq);
                // Report status.
                if (statusStringDelegate != null)
                {
                    statusStringDelegate(opStatus);
                }
            }
            lastStatusTime  = now;
            lastOpsCount    = opsCount;
            sumOpTime       = 0;
            intervalMaxTime = 0;
        }
コード例 #2
0
ファイル: OpsPerSecond.cs プロジェクト: Eule01/OpenGlGame
        public void FinishedOperation()
        {
            long deltTime = AccurateStopWatch.GetTimeStamp() - lastOpStartTime;

            sumOpTime += deltTime;

            if (deltTime > intervalMaxTime)
            {
                intervalMaxTime = deltTime;
            }

            opsCount++;
        }
コード例 #3
0
ファイル: OpsPerSecond.cs プロジェクト: Eule01/OpenGlGame
 public void StartOperation()
 {
     lastOpStartTime = AccurateStopWatch.GetTimeStamp();
     //            lastOpStartTime = DateTime.Now.Ticks;
     //            lastOpStartTime = Environment.TickCount;
 }