Why does calling AVCapturePhotoOutput.capturePhoto freeze preview(AVCaptureVideoDataOutput.captureOutput)

I am using AVCaptureVideoDataOutput to capture each frame from camera capture.

I display these frame to MTKView.

that's fine.

If I call AVCapturePhotoOutput.capturePhoto, the delegate function AVCaptureVideoDataOutput.captureOutput will be paused, so that my preview had a little freezed, that's very bad.

I don't know if I do something wrong cause this?

this is my capturePhoto code:

Code Block
func createTakePhotoSettingForNormalPhoto() -> AVCapturePhotoSettings {
var settings: AVCapturePhotoSettings
settings.isHighResolutionPhotoEnabled = true
return settings
}
func takePhoto() {
settings = createTakePhotoSettingForNormalPhoto()
settings.flashMode = ...
_outputStillImage.capturePhoto(with: settings, delegate: self)
}


I noticed that if I tap shot button repeatly and quickly in IOS native Camera APP, it will have a black flash at each shot, but the preview also could display frame smoothly.
Why does calling AVCapturePhotoOutput.capturePhoto freeze preview(AVCaptureVideoDataOutput.captureOutput)
 
 
Q