From dfa1a5e547568787089556160a913f8a7ab16655 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Mon, 8 Jan 2024 23:02:46 +0000 Subject: [PATCH] Explain where rendering is (#11018) It was not easy to find. Add some pointers to the comment. --- crates/bevy_app/src/main_schedule.rs | 11 +++++++++++ crates/bevy_render/src/lib.rs | 7 +++++++ 2 files changed, 18 insertions(+) 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 e7ed0545eebd1..e1ca40cf854cf 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -67,6 +67,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,