有没有办法防止 ios 帧率从低开始

Is there a way to prevent ios frame rate from starting low

我正在开发 swift 应用程序并使用 AVFoundation 捕获视频输入。当我 运行 应用程序开始时大约有 1 秒的时间 FPS 为 30,但随后它变为 60 并始终保持这种状态。我在下面有我的异步调用。我正在尝试等待 FPS 达到 60,然后再显示我想显示的内容。

sessionQueue.async {
    \... other code here ...
    self.session.startRunning()
    self.isSessionRunning = self.session.isRunning

    DispatchQueue.main.async {
        rootLayer = self.jetView.layer
        self.jetView.frame = rootLayer.bounds
        setup(videoInput: self.videoDeviceInput, view: self)
    }
}

您的帧率主要取决于您在主线程上所做的工作量,这受到渲染更改量和渲染所需工作量的影响。

您应该分析并尽量减少这种情况。也许使用更简单的演示动画,或者如果您有复杂的自动布局,您可能应该考虑简单的手动布局。 (这些是典型的 VC 启动帧率问题)

您需要配置文件才能确定。