我有几个使用 ARKit 1.5 开发的项目,并且在 iOS 11.4.1 之前运行良好。当我将iOS升级到版本12 beta 并使用 Xcode 10 beta (迄今为止的最新版本)运行它时,我的AR会话变得非常无响应并停滞了。
对于我将OverlaySKScene
用作ARSceneView
的项目,这种冻结甚至是不好的。这是我应该提交的错误,还是仅对我自己发生的错误,我应该进行一些代码优化?如果是这样,请帮助我提供有关如何优化性能的想法。
我阅读了该线程ARKit 2 freezes: a bug or my misfortune?,并将部署目标更改为iOS 12,但仍然没有运气:(
注意:对于我来说,使用ARKit 2.0完全重做该应用非常困难。
答案 0 :(得分:1)
我解决了这个问题。这是因为我在renderer方法下进行了大量的广泛编码。我通过以下方法更新了我的SKScene的SpriteKit
组件。
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
// some stuff
}
现在替换了下面的代码,
func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) {
// some stuff
}
现在,应用程序停止冻结。但是我仍然可以看到一些滞后。