dugasil.blogg.se

Heads will roll sync points
Heads will roll sync points









heads will roll sync points

Will keep tracking what devs have to say about this. So far, I've only seen syncing transforms taking up 0.1-0.5ms in large setups. This is jobified and runs pretty fast, but I'm guessing there would be projects where that is a bottleneck of some kind. I believe the main cost of it as of right now is during the collection of the changed transforms from the hierarchy. It's a core feature, and it's also used in AI, Particles, 2D Physics, etc. There is no "dirty" check per se, once you write a transform, there is a bit set in the hierarchy if the transform had the physics engine interest expressed. As pointed out above, only the changed transforms are getting written to the physics engine. One way to think about the new deferred updates is to imagine all the TransformChanged messages are now deferred and squashed (=two TransformChanged to a given transform turn in to only one update).ġ. Priorly, we used to have a TransformChanged(changeType) message that was sent to the physics components as explained in the attached pdf.

heads will roll sync points heads will roll sync points

The basic idea of a sync is to take the changed transforms that physics is interested in and apply the changes to the physics engine, one by one at no particular order (happens partially in jobs running on other threads). I wrote up the attached doc for the alpha groups, not sure it actually made it's way down to betas. So from what I understand, one sync would be enough (?) I already make sure all of my rigidbodies are moved through rigidbody methods, and none of my vanilla colliders are moved at all (if they are moved, I'll make them kinematic rigidbodies). Will turning off autoSync cause any sort of unexpected behaviour with rigidbody interpolation? (does interpolation rely on changing the transform's position internally and not the rigidbody's?)īasically, with all this, I am trying to figure out if I really need more than one single sync per fixedUpdate.If moving a Rigidbody with rigidbody.position or MovePosition, and autoSync is turned off, does it automatically do all the sync work for child Rigidbodies/Colliders, or do we have to call SyncTransforms manually to sync children?.Does calling SyncTransforms apply it instantly or affects it in any way? Right now, a MovePosition() is only really applied after the FixedUpdate phase.velocity, or through physics forces/impacts. A sync is only needed when a transform with an attached Rigidbody/Collider was moved directly not when a Rigidbody was moved directly with.When autoSync is turned on, does the system actually force everything to sync positions/rotations every time, or does it have some kind of optimized way of only moving the rigidbodies that are "dirty"? If so, how expensive is the "dirty" check (in other words how great are the potential performance gains of doing it manually if we weren't moving rigidbodies by using transforms anyway?).So I have a few questions regarding this feature:











Heads will roll sync points