public void AddTimeTest() { var t1 = new Time(1, 15, 30, 500); var t2 = new Time(0, 45, 30, 500); t1.AddTime(t2); t2 = new Time(2, 1, 1, 0); Assert.AreEqual(t2, t1); }
void PlaybacAudiokDevice_AudioMediaDataPlayEnded(object sender, EndedEventArgs e) { mElapsedTime.AddTime(e.getEndTime()); if (mContinueAfterTreeNode) { mCurrentTreeNode = mTreeNodeNavigator.GetNext(mCurrentTreeNode); play(); } }
protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); Time.AddTime((float)e.Time); DateTime frameStart = DateTime.Now; PostProcessing.GetInstance().PreRender(); Render(); PostProcessing.GetInstance().Prepare2D(); Render2D(); PostProcessing.GetInstance().PostRender(); this.SwapBuffers(); if (GlobalSettings.Default.improvedLatency) { GL.Finish(); } #region "Framerate logic" DateTime frameEnd = DateTime.Now; if (GlobalSettings.Default.frameCap > 0 && (frameEnd - frameStart).TotalMilliseconds < 1000.0f / GlobalSettings.Default.frameCap) { Thread.Sleep((int)((1000.0f / GlobalSettings.Default.frameCap) - (frameEnd - frameStart).TotalMilliseconds)); } ++framesLastSecond; Time.lastFrameTime = (frameEnd - frameStart).TotalSeconds; if ((DateTime.Now - lastFrameCollection).TotalMilliseconds >= 1000) { OneSecondPassed(); //Logging.Write(1000.0f/(frameEnd-frameStart).TotalMilliseconds + "FPS"); for (int i = 0; i < 99; ++i) { frameRateGraph[i + 1] = frameRateGraph[i]; } frameRateGraph[99] = (int)(1000.0f / (frameEnd - frameStart).TotalMilliseconds); framesLastSecond = 0; lastFrameCollection = DateTime.Now; } #endregion if (firstFrameRendered) { return; } firstFrameRendered = true; }