我正在开发一个快速的应用程序,并且正在使用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启动帧率问题)
您需要配置文件以确保。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句