Axiom.Core.TimingMeter.Enter C# (CSharp) Method

Enter() public method

public Enter ( ) : void
return void
		public void Enter()
		{
			if ( MeterManager.Collecting && enabled )
				MeterManager.AddEvent( this, MeterManager.ekEnter, "" );
		}

Usage Example

        /// <summary>
        ///		Renders one frame.
        /// </summary>
        /// <remarks>
        ///		Updates all the render targets automatically and then returns, raising frame events before and after.
        /// </remarks>
        /// <returns>True if execution should continue, false if a quit was requested.</returns>
        public void RenderOneFrame()
        {
            // If we're capping the maximum frame rate, check to see
            // if we should sleep
            if (microsecondsPerFrame != 0)
            {
                long  current = CaptureCurrentTime();
                long  diff    = Math.Abs(current - lastFrameStartTime);
                float microsecondsSinceLastFrame = diff * microsecondsPerTick;
                float mdiff = microsecondsPerFrame - microsecondsSinceLastFrame;
                // If the difference is greater than 500usec and less
                // than 1000 ms, sleep
                if (mdiff > 500f && mdiff < 1000000f)
                {
                    Thread.Sleep((int)(Math.Min(mdiff / 1000f, 200f)));
                    lastFrameStartTime = CaptureCurrentTime();
                }
                else
                {
                    lastFrameStartTime = current;
                }
            }
            if (queuedEnd)
            {
                // bail out before continuing
                return;
            }

            // Stop rendering if frame callback says so
            oneFrameMeter.Enter();
            oneFrameStartedMeter.Enter();
            OnFrameStarted();
            oneFrameStartedMeter.Exit();

            if (!queuedEnd && !dontUpdateRenderTargets)
            {
                // update all current render targets
                updateRenderTargetsMeter.Enter();
                UpdateAllRenderTargets();
                updateRenderTargetsMeter.Exit();
            }

            // Stop rendering if frame callback says so
            oneFrameEndedMeter.Enter();
            OnFrameEnded();
            oneFrameEndedMeter.Exit();

            oneFrameMeter.Exit();
        }
All Usage Examples Of Axiom.Core.TimingMeter::Enter