Open
Description
Since #9685, each instance of batch_and_prepare_render_phase
will append a copy of MeshUniform
to the GpuArrayBuffer<MeshUniform>
resource for each entity x phase. For 2 cameras, each with 3 phases (shadow, prepass, main pass), that's 6 total copies per entity... Additionally, each batch_and_prepare_render_phase
cannot run in parallel with each other due to ResMut<GpuArrayBuffer>
.
This was kind of intended as it makes it easy for each draw to find the correct MeshUniform in the shader, but it does have the above downsides.
Metadata
Metadata
Assignees
Labels
Drawing game state to the screenAn unexpected or incorrect behaviorA change motivated by improving speed, memory usage or compile timesQuite challenging from either a design or technical perspective. Ask for help!This is particularly urgent, and deserves immediate attentionThis set of changes needs performance benchmarking to double-check that they helpThis issue requires design work to think about how it would best be accomplishedThere is active debate or serious implications around merging this PR