bevy/crates/bevy_transform/src
Aevyrie c4139fe296 Transform Propagation Optimization: Static Subtree Marking (#18589)
# Objective

- Optimize static scene performance by marking unchanged subtrees.
-
[bef0209](bef0209de1)
fixes #18255 and #18363.
- Closes #18365 
- Includes change from #18321

## Solution

- Mark hierarchy subtrees with dirty bits to avoid transform propagation
where not needed
- This causes a performance regression when spawning many entities, or
when the scene is entirely dynamic.
- This results in massive speedups for largely static scenes.
- In the future we could allow the user to change this behavior, or add
some threshold based on how dynamic the scene is?

## Testing

- Caldera Hotel scene
2025-03-30 10:21:20 +02:00
..
components Transform Propagation Optimization: Static Subtree Marking (#18589) 2025-03-30 10:21:20 +02:00
commands.rs Parent -> ChildOf (#17427) 2025-01-20 22:13:29 +00:00
helper.rs Change ChildOf to Childof { parent: Entity} and support deriving Relationship and RelationshipTarget with named structs (#17905) 2025-02-27 19:22:17 +00:00
lib.rs Move #![warn(clippy::allow_attributes, clippy::allow_attributes_without_reason)] to the workspace Cargo.toml (#17374) 2025-01-15 01:14:58 +00:00
plugins.rs Transform Propagation Optimization: Static Subtree Marking (#18589) 2025-03-30 10:21:20 +02:00
systems.rs Transform Propagation Optimization: Static Subtree Marking (#18589) 2025-03-30 10:21:20 +02:00
traits.rs Conversions for Isometry3d ⟷ Transform/GlobalTransform (#14478) 2024-07-25 20:23:32 +00:00