EndDraw() public method

public EndDraw ( ) : void
return void
示例#1
0
        protected override void EndDraw()
        {
            RenderCoordinator.WorkStopwatch.Restart();

            try {
                RenderCoordinator.EndDraw();
            } catch (Exception exc) {
                Console.WriteLine("Caught {0} in EndDraw", exc);
                throw;
            } finally {
                RenderCoordinator.WorkStopwatch.Stop();

                var lpc = NativeBatch.LifetimePrimitiveCount;
                var ppc = NextFrameTiming.PriorPrimitiveCount;
                var lcc = NativeBatch.LifetimeCommandCount;
                var pcc = NextFrameTiming.PriorCommandCount;

                NextFrameTiming.Prepare        = RenderCoordinator.PrepareStopwatch.Elapsed;
                NextFrameTiming.EndDraw        = RenderCoordinator.WorkStopwatch.Elapsed;
                NextFrameTiming.BeforeIssue    = RenderCoordinator.BeforeIssueStopwatch.Elapsed;
                NextFrameTiming.BeforePresent  = RenderCoordinator.BeforePresentStopwatch.Elapsed;
                NextFrameTiming.AfterPresent   = RenderCoordinator.AfterPresentStopwatch.Elapsed;
                NextFrameTiming.Wait           = RenderCoordinator.WaitStopwatch.Elapsed;
                NextFrameTiming.PrimitiveCount = (int)(lpc - ppc);
                NextFrameTiming.CommandCount   = (int)(lcc - pcc);
                PreviousFrameTiming            = NextFrameTiming;

                RenderCoordinator.WaitStopwatch.Reset();
                RenderCoordinator.BeforePresentStopwatch.Reset();
                RenderCoordinator.AfterPresentStopwatch.Reset();
            }

            ThreadGroup.TryStepMainThreadUntilDrained();
        }
        protected override void EndDraw()
        {
            RenderCoordinator.WorkStopwatch.Restart();

            try {
                RenderCoordinator.EndDraw();
            } finally {
                RenderCoordinator.WorkStopwatch.Stop();

                NextFrameTiming.EndDraw = RenderCoordinator.WorkStopwatch.Elapsed;
                NextFrameTiming.Wait    = RenderCoordinator.WaitStopwatch.Elapsed;
                PreviousFrameTiming     = NextFrameTiming;

                RenderCoordinator.WaitStopwatch.Reset();
            }

            RenderCoordinator.EnableThreading = _UseThreadedDraw;
        }
示例#3
0
        protected override void EndDraw()
        {
            RenderCoordinator.WorkStopwatch.Restart();

            try {
                RenderCoordinator.EndDraw();
            } finally {
                RenderCoordinator.WorkStopwatch.Stop();

                var lpc = NativeBatch.LifetimePrimitiveCount;
                var ppc = NextFrameTiming.PriorPrimitiveCount;

                NextFrameTiming.EndDraw        = RenderCoordinator.WorkStopwatch.Elapsed;
                NextFrameTiming.BeforePresent  = RenderCoordinator.BeforePresentStopwatch.Elapsed;
                NextFrameTiming.Wait           = RenderCoordinator.WaitStopwatch.Elapsed;
                NextFrameTiming.PrimitiveCount = (int)(lpc - ppc);
                PreviousFrameTiming            = NextFrameTiming;

                RenderCoordinator.WaitStopwatch.Reset();
                RenderCoordinator.BeforePresentStopwatch.Reset();
            }

            RenderCoordinator.EnableThreading = UseThreadedDraw;
        }