Hi Ben,
I guess that you are using the IsVisible property of LayerOverlay to control the visibility of Layers according to your description. In fact, this property just set the visibility of Wpf control, not the Layer.
When rendering all the Overlays and Layers of them on WfpMap control, if IsVisible property is set to false, the Overlay will not be processed and remains what it was when being hidden, and the Layers within it will be treated the same way.
Frankly speaking, if rendering Overlays or Layers that are set invisible while changing the scale of the map, it would cost at least as much time and resources as just refresh them manually when they are set to visible. In my opinion, it’s a better idea to specify which Overlay you want to refresh when the IsVisible property is set from false to true rather than refresh it no matter if it’s visible. There is a method overload of Refresh that receives an argument specifying which Overlay you want to have it refreshed.
Further questions please let me know.
Thanks.
James