Open
Description
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:
- 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)- We'd need a way of sharing change ticks between multiple instances of
propogate_transforms
. Currently, if you were to addpropogate_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