internal void SynchronousPrepareBatches(Frame frame) { var context = new Batch.PrepareContext(PrepareManager, false, frame.BatchesToRelease); context.PrepareMany(frame.Batches); PrepareManager.AssertEmpty(); }
internal void ParallelPrepareBatches(Frame frame) { var context = new Batch.PrepareContext(PrepareManager, true, frame.BatchesToRelease); context.PrepareMany(frame.Batches); PrepareManager.Wait(); PrepareManager.AssertEmpty(); }
internal void SynchronousPrepareBatches(Frame frame) { var context = new Batch.PrepareContext(PrepareManager, false); context.PrepareMany(ref frame.Batches); ThreadGroup.NotifyQueuesChanged(); PrepareManager.AssertEmpty(); frame.BatchesToRelease.AddRange(in context.BatchesToRelease); }