使用“ OverlaySKScene”时,ARKit 2.0屏幕无响应

时间:2018-08-23 05:34:43

标签: swift4 arkit skscene xcode10 ios12

我有几个使用 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完全重做该应用非常困难。

1 个答案:

答案 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
}

现在,应用程序停止冻结。但是我仍然可以看到一些滞后。