Exemplo n.º 1
0
        public static JobHandle ScheduleParallel
        <JOB>(this JOB job, int iterations, JobHandle inputDeps) where JOB : struct, IJobParallelFor
        {
            if (iterations <= 0)
            {
                return(inputDeps);
            }
            var innerloopBatchCount = ProcessorCount.BatchSize((uint)iterations);

            return(job.Schedule((int)iterations, innerloopBatchCount, inputDeps));
        }
Exemplo n.º 2
0
        public static JobHandle ScheduleParallelAndCombine
        <JOB>(this JOB job, int iterations, JobHandle inputDeps, JobHandle combinedDeps) where JOB : struct, IJobParallelFor
        {
            if (iterations == 0)
            {
                return(inputDeps);
            }

            var innerloopBatchCount = ProcessorCount.BatchSize((uint)iterations);
            var jobDeps             = job.Schedule(iterations, innerloopBatchCount, inputDeps);

            return(JobHandle.CombineDependencies(combinedDeps, jobDeps));
        }