Skip to content

Update propogate_transforms to only visit the transforms of entities that have changed #17181

Open
@BenjaminBrienen

Description

@BenjaminBrienen

As far as I know yes, the transform propagation algorithm hasn't been changed since posting this. In order to alleviate the performance concerns we'd need two changes:

  1. Update propogate_transforms to only visit the transforms of entities that have changed. Currently we visit the entire hierarchy on every run of the system which is very inefficient (this is sub-optimal regardless of whether we update transforms in FixedUpdate, but this issue would exacerbate it)
  2. We'd need a way of sharing change ticks between multiple instances of propogate_transforms. Currently, if you were to add propogate_transforms to the schedule multiple times, each instance of the system would have its own change ticks, which means each instance would redundantly propagate transforms for the same entities/components

Originally posted by @JoJoJet in #7836 (comment)

item 2 can be a follow-up after this issue is handled

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsA-TransformTranslations, rotations and scalesD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesS-Needs-DesignThis issue requires design work to think about how it would best be accomplished

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions