bevy/crates/bevy_ui/src/render
ickshonpe c3f72ba4ad
Skip camera look ups in queue uinodes (#17668)
# Objective

`queue_uinodes` looks up the `ExtractedView` for every extracted UI
node, but there's no need to look it up again if consecutive nodes have
the same `extracted_camera_entity`.

## Solution

In queue uinodes reuse the previously looked up extracted view if the
`extracted_camera_entity` doesn't change

## Showcase

```
cargo run --example many_buttons --release --features "trace_tracy"
```

<img width="521" alt="queue-ui-improvement"
src="https://github.com/user-attachments/assets/2f111837-8c2e-4a6d-94cd-3c3462c58bc9"
/>

yellow is this PR, red is main
2025-03-23 09:42:44 +00:00
..
box_shadow.rs Remove the entity index from the UI phase's sort key (#18273) 2025-03-12 17:11:02 +00:00
box_shadow.wgsl Remove the Globals binding from the box shadow shader (#16177) 2024-10-30 20:06:15 +00:00
debug_overlay.rs Store UI render target info locally per node (#17579) 2025-02-10 07:27:58 +00:00
mod.rs Skip camera look ups in queue uinodes (#17668) 2025-03-23 09:42:44 +00:00
pipeline.rs Only use physical coords internally in bevy_ui (#16375) 2024-11-22 00:45:07 +00:00
render_pass.rs Remove the entity index from the UI phase's sort key (#18273) 2025-03-12 17:11:02 +00:00
ui_material_pipeline.rs Remove the entity index from the UI phase's sort key (#18273) 2025-03-12 17:11:02 +00:00
ui_material.wgsl UI material border radius (#15171) 2025-01-28 04:54:48 +00:00
ui_texture_slice_pipeline.rs Remove the entity index from the UI phase's sort key (#18273) 2025-03-12 17:11:02 +00:00
ui_texture_slice.wgsl Fix some duplicate words in docs/comments (#15980) 2024-10-20 01:03:27 +00:00
ui_vertex_output.wgsl UI material border radius (#15171) 2025-01-28 04:54:48 +00:00
ui.wgsl Revert #17631 (#17660) 2025-02-03 19:01:15 +00:00