diff -r d81166ee8ea0 modules/graphics/src/main/java/com/sun/javafx/sg/prism/DirtyHint.java --- a/modules/graphics/src/main/java/com/sun/javafx/sg/prism/DirtyHint.java Tue Jul 16 19:42:10 2013 +0400 +++ b/modules/graphics/src/main/java/com/sun/javafx/sg/prism/DirtyHint.java Tue Jul 16 09:41:57 2013 -0700 @@ -29,14 +29,5 @@ * Dirty bounds hints */ public final class DirtyHint { - double translateXDelta, translateYDelta; - - public double getTranslateXDelta() { - return translateXDelta; - } - - public double getTranslateYDelta() { - return translateYDelta; - } } diff -r d81166ee8ea0 modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java --- a/modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java Tue Jul 16 19:42:10 2013 +0400 +++ b/modules/graphics/src/main/java/com/sun/javafx/sg/prism/NGNode.java Tue Jul 16 09:41:57 2013 -0700 @@ -341,9 +341,9 @@ // If the parent is cached, try to check if the transformation is only a translation if (parent != null && parent.cacheFilter != null) { if (hint == null) { + // If there's no hint created yet, this is the first setTransformMatrix + // call and we have nothing to compare to yet. hint = new DirtyHint(); - // If there's no hint created yet, this is the first setTransformMatrix - // call and we have nothing to compare to yet. } else { if (transform.getMxx() == tx.getMxx() && transform.getMxy() == tx.getMxy() @@ -734,7 +734,7 @@ dirty = DirtyFlag.DIRTY_BY_TRANSLATION; parent.childDirty = true; parent.dirtyChildrenAccumulated++; - parent.invalidateCacheByTranslation(); + parent.invalidateCacheByTranslation(hint); parent.markTreeDirty(); } else { markDirty(); @@ -847,7 +847,7 @@ * Mark the cache as invalid due to a translation of a child. The cache filter * might use this information for optimizations. */ - protected final void invalidateCacheByTranslation() { + protected final void invalidateCacheByTranslation(DirtyHint hint) { if (cacheFilter != null) { cacheFilter.invalidateByTranslation(hint.translateXDelta, hint.translateYDelta); }