diff --git a/crates/bevy_app/src/main_schedule.rs b/crates/bevy_app/src/main_schedule.rs index 24872e9950f76..a7b8847cfca2a 100644 --- a/crates/bevy_app/src/main_schedule.rs +++ b/crates/bevy_app/src/main_schedule.rs @@ -23,6 +23,17 @@ use bevy_ecs::{ /// * [`Update`] /// * [`PostUpdate`] /// * [`Last`] +/// +/// # Rendering +/// +/// Note rendering is not executed in the main schedule by default. +/// Instead, rendering is performed in a separate [`SubApp`](crate::app::SubApp) +/// which exchanges data with the main app in between the main schedule runs. +/// +/// See [`RenderPlugin`] and [`PipelinedRenderingPlugin`] for more details. +/// +/// [`RenderPlugin`]: https://docs.rs/bevy/latest/bevy/render/struct.RenderPlugin.html +/// [`PipelinedRenderingPlugin`]: https://docs.rs/bevy/latest/bevy/render/pipelined_rendering/struct.PipelinedRenderingPlugin.html #[derive(ScheduleLabel, Clone, Debug, PartialEq, Eq, Hash)] pub struct Main; diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index a8243422d607d..8ef18a443c06e 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -64,6 +64,13 @@ use std::{ }; /// Contains the default Bevy rendering backend based on wgpu. +/// +/// Rendering is done in a [`SubApp`], which exchanges data with the main app +/// between main schedule iterations. +/// +/// Rendering can be executed between iterations of the main schedule, +/// or it can be executed in parallel with main schedule when +/// [`PipelinedRenderingPlugin`](pipelined_rendering::PipelinedRenderingPlugin) is enabled. #[derive(Default)] pub struct RenderPlugin { pub render_creation: RenderCreation,