Added code to prevent perimeter properties from being updated when recalculated if they hadn't actually changed.