pub enum UpdateMode {
    Continuous,
    Reactive {
        max_wait: Duration,
    },
    ReactiveLowPower {
        max_wait: Duration,
    },
}
Expand description

Configure how the winit event loop should update.

Variants§

§

Continuous

The event loop will update continuously, running as fast as possible.

§

Reactive

Fields

§max_wait: Duration

The maximum time to wait before the event loop runs again.

Note that Bevy will wait indefinitely if the duration is too high (such as Duration::MAX).

The event loop will only update if there is a winit event, a redraw is requested, or the maximum wait time has elapsed.

Note

Once the app has executed all bevy systems and reaches the end of the event loop, there is no way to force the app to wake and update again, unless a winit event (such as user input, or the window being resized) is received or the time limit is reached.

§

ReactiveLowPower

Fields

§max_wait: Duration

The maximum time to wait before the event loop runs again.

Note that Bevy will wait indefinitely if the duration is too high (such as Duration::MAX).

The event loop will only update if there is a winit event from direct interaction with the window (e.g. mouseover), a redraw is requested, or the maximum wait time has elapsed.

Note

Once the app has executed all bevy systems and reaches the end of the event loop, there is no way to force the app to wake and update again, unless a winit event (such as user input, or the window being resized) is received or the time limit is reached.

Differences from UpdateMode::Reactive

Unlike UpdateMode::Reactive, this mode will ignore winit events that aren’t directly caused by interaction with the window. For example, you might want to use this mode when the window is not focused, to only re-draw your bevy app when the cursor is over the window, but not when the mouse moves somewhere else on the screen. This helps to significantly reduce power consumption by only updated the app when absolutely necessary.

Trait Implementations§

source§

impl Debug for UpdateMode

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more