diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java index f8c54f938..5de30788a 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java @@ -292,6 +292,9 @@ public class Skeleton { /** Updates the world transform for each bone and applies constraints. */ public void updateWorldTransform () { + // This partial update avoids computing the world transform for constrained bones when 1) the bone is not updated + // before the constraint, 2) the constraint only needs to access the applied local transform, and 3) the constraint calls + // updateWorldTransform. Array updateCacheReset = this.updateCacheReset; for (int i = 0, n = updateCacheReset.size; i < n; i++) { Bone bone = updateCacheReset.get(i);