How best to suspend ImageViewerControl, switching between instances shown

SDK 2019R2

I have a C# application with many ImageViewerControl, but only one is shown at a time.

I do not need to be processing video for the controls that are not shown.

I would like to switch between controls without the seconds long delay that I see with Disconnect() and Connect() .

I noticed the ShowImageViewer property, but I did not see any description of changes to video processing when not shown.

Is the ImageViewerControl smart about minimizing processing/resources when it is not visible or ShowImageViewer property is false? If so, what are side effects like is ImageDisplayedEvent still triggered, what is delay to showing image when control is shown?

What is the recommended way to switch between imageViewerControls with minimal delay showing the new video? What are tradeoffs (e.g. cpu/memory vs initial delay)

The ImageViewerControl will communicate with the recording server and render images even when not shown, if it wasn’t it could only get started by doing a Connect() and this would introduce the delay you seek to avoid. If not streaming video it can only start by a Connect().

The recommended design is to have one control where you Disconnect(), switch camera and Connect().

It might be possible to do an advanced design where you have one control running, start a second control, when the second control is connected and running swap the two controls and then disconnect the first one. The delay will then be without any black frames or similar so the delay will perhaps be less noticed. This is not an easy design, and I cannot point to any sample.