-
Enhancement
-
Resolution: Fixed
-
P5
-
8
Some minor tweaks to accumulateNodeDirtyRegion for performance.
- After calling computeDirtyRegion, the dirtyRegionTemp is updated with the same minX, maxX, minY, maxY of the returned BaseBase. However in many cases (I think every case other than a perspective transform) the dirtyRegionTemp is the same instance as the returned bb, and thus we can skip this assignment entirely
- Possibly even better than doing this check in accumulateNodeDirtyRegion would be to change the implementation of computeDirtyRegion so that it flattens in-place and doesn't return a BaseBounds object at all. Note sure if this helps.
- After calling computeDirtyRegion, the dirtyRegionTemp is updated with the same minX, maxX, minY, maxY of the returned BaseBase. However in many cases (I think every case other than a perspective transform) the dirtyRegionTemp is the same instance as the returned bb, and thus we can skip this assignment entirely
- Possibly even better than doing this check in accumulateNodeDirtyRegion would be to change the implementation of computeDirtyRegion so that it flattens in-place and doesn't return a BaseBounds object at all. Note sure if this helps.