From 032fd486c76c4f1edada4950e13a95a57765bb66 Mon Sep 17 00:00:00 2001 From: re0312 <45868716+re0312@users.noreply.github.com> Date: Tue, 13 Aug 2024 00:15:54 +0800 Subject: [PATCH] View filter for batch_and_prepare_render_phase (#14713) # Objective - batch_and_prepare_render_phase will iterate all living entities ,which potentially causes a lot of unnecessary look up - from https://github.com/bevyengine/bevy/pull/14449#issuecomment-2282876034 ## Solution - added View filter --- crates/bevy_render/src/batching/gpu_preprocessing.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/bevy_render/src/batching/gpu_preprocessing.rs b/crates/bevy_render/src/batching/gpu_preprocessing.rs index ce74bf0cc6..b03f4ba184 100644 --- a/crates/bevy_render/src/batching/gpu_preprocessing.rs +++ b/crates/bevy_render/src/batching/gpu_preprocessing.rs @@ -24,7 +24,7 @@ use crate::{ }, render_resource::{BufferVec, GpuArrayBufferable, RawBufferVec, UninitBufferVec}, renderer::{RenderAdapter, RenderDevice, RenderQueue}, - view::{GpuCulling, ViewTarget}, + view::{ExtractedView, GpuCulling, ViewTarget}, Render, RenderApp, RenderSet, }; @@ -386,7 +386,7 @@ pub fn batch_and_prepare_sorted_render_phase( gpu_array_buffer: ResMut>, mut indirect_parameters_buffer: ResMut, mut sorted_render_phases: ResMut>, - mut views: Query<(Entity, Has)>, + mut views: Query<(Entity, Has), With>, system_param_item: StaticSystemParam, ) where I: CachedRenderPipelinePhaseItem + SortedPhaseItem, @@ -503,7 +503,7 @@ pub fn batch_and_prepare_binned_render_phase( gpu_array_buffer: ResMut>, mut indirect_parameters_buffer: ResMut, mut binned_render_phases: ResMut>, - mut views: Query<(Entity, Has)>, + mut views: Query<(Entity, Has), With>, param: StaticSystemParam, ) where BPI: BinnedPhaseItem,