WaitForActiveDraws() private method

private WaitForActiveDraws ( ) : bool
return bool
Esempio n. 1
0
        sealed protected override void Draw(GameTime gameTime)
        {
            RenderCoordinator.WorkStopwatch.Restart();

            var priorIndex = Batch.LifetimeCount;

            NextFrameTiming.PriorPrimitiveCount = NativeBatch.LifetimePrimitiveCount;
            NextFrameTiming.PriorCommandCount   = NativeBatch.LifetimeCommandCount;

            // ????
            RenderCoordinator.WaitForActiveDraws();

            try {
                OnBeforeDraw(gameTime);
                var frame = RenderCoordinator.BeginFrame(true);
                Squared.Threading.Profiling.Superluminal.BeginEventFormat("Build Frame", "SRFrame #{0}", frame.Index, color: 0x1010CF);
                Draw(gameTime, frame);
            } finally {
                Squared.Threading.Profiling.Superluminal.EndEvent();
                RenderCoordinator.SynchronousDrawsEnabled = true;
                RenderCoordinator.WorkStopwatch.Stop();
                NextFrameTiming.Draw       = RenderCoordinator.WorkStopwatch.Elapsed;
                NextFrameTiming.BatchCount = (int)(Batch.LifetimeCount - priorIndex);
            }
        }
Esempio n. 2
0
 private void Gds_DeviceResetting(object sender, EventArgs e)
 {
     if (!RenderCoordinator.WaitForActiveDraws())
     {
         ;
     }
 }
Esempio n. 3
0
        sealed protected override void UnloadContent()
        {
            if (IsUnloadingContent)
            {
                return;
            }
            RenderCoordinator.WaitForActiveDraws();

            IsUnloadingContent = true;
            try {
                OnUnloadContent();
                base.UnloadContent();
            } finally {
                IsContentLoaded    = false;
                IsUnloadingContent = false;
            }
        }
Esempio n. 4
0
        sealed protected override void LoadContent()
        {
            if (IsLoadingContent)
            {
                return;
            }
            RenderCoordinator.WaitForActiveDraws();

            IsLoadingContent = true;
            try {
                base.LoadContent();
                OnLoadContent(HasEverLoadedContent);
                HasEverLoadedContent = true;
                IsContentLoaded      = true;
            } finally {
                IsLoadingContent = false;
            }
        }