[−][src]Struct bevy_ecs::ParallelSystemStageExecutor
Executes the stage in parallel by analyzing system dependencies. System execution order is undefined except under the following conditions:
- systems in earlier stages run before systems in later stages
- in a given stage, systems that mutate [archetype+component] X cannot run before systems registered before them that read/write [archetype+component] X
- in a given stage, systems the read [archetype+component] X cannot run before systems registered before them that write [archetype+component] X
- in a given stage, systems that mutate resource Y cannot run before systems registered before them that read/write resource Y
- in a given stage, systems the read resource Y cannot run before systems registered before them that write resource Y
Implementations
impl ParallelSystemStageExecutor
[src]
pub fn system_dependents(&self) -> &[Vec<usize>]
[src]
pub fn system_dependencies(&self) -> &[FixedBitSet]
[src]
pub fn prepare_to_next_thread_local(
&mut self,
world: &World,
systems: &mut [Box<dyn System<In = (), Out = ()>>],
stage_changed: bool,
next_thread_local_index: usize
) -> Range<usize>
[src]
&mut self,
world: &World,
systems: &mut [Box<dyn System<In = (), Out = ()>>],
stage_changed: bool,
next_thread_local_index: usize
) -> Range<usize>
Sets up state to run the next "batch" of systems. Each batch contains 0..n systems and optionally a thread local system at the end. After this function runs, a bunch of state in self will be populated for systems in this batch. Returns the range of systems that we prepared, up to but NOT including the thread local system that MIGHT be at the end of the range
pub fn run_systems(
&self,
world: &World,
resources: &Resources,
systems: &mut [Box<dyn System<In = (), Out = ()>>],
prepared_system_range: Range<usize>,
compute_pool: &TaskPool
)
[src]
&self,
world: &World,
resources: &Resources,
systems: &mut [Box<dyn System<In = (), Out = ()>>],
prepared_system_range: Range<usize>,
compute_pool: &TaskPool
)
Runs the non-thread-local systems in the given prepared_system_range range
Trait Implementations
impl Default for ParallelSystemStageExecutor
[src]
impl SystemStageExecutor for ParallelSystemStageExecutor
[src]
Auto Trait Implementations
impl RefUnwindSafe for ParallelSystemStageExecutor
[src]
impl Send for ParallelSystemStageExecutor
[src]
impl Sync for ParallelSystemStageExecutor
[src]
impl Unpin for ParallelSystemStageExecutor
[src]
impl UnwindSafe for ParallelSystemStageExecutor
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,