ARKit 2.0 屏幕在使用 "OverlaySKScene" 时没有响应
ARKit 2.0 screen is unresponsive on using "OverlaySKScene"
我有几个使用 ARKit 1.5 开发的项目,在 iOS 11.4.1 之前都运行良好。当我使用 Xcode 10 beta 将 iOS 升级到 版本 12 beta 和 运行迄今为止的最新版本),我的 AR 会话变得非常无响应并冻结。
对于我的 ARSceneView
使用 OverlaySKScene
的项目,这种冻结甚至是糟糕的。这是一个我应该提交的错误,还是只发生在我身上,我应该做一些代码优化?如果是这样,请帮助我提供有关如何优化性能的想法。
我读了这个帖子 ARKit 2 freezes: a bug or my misfortune? 并将我的部署目标更改为 iOS 12 但仍然没有成功:(
注意:我很难完全使用ARKit 2.0重做应用程序。
我解决了这个问题。这是因为我在渲染器方法下面做了很多广泛的编码。我正在使用以下方法更新 SKScene 的 SpriteKit
组件。
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
// some stuff
}
现在替换下面的代码,
func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) {
// some stuff
}
现在应用程序停止冻结。但我仍然可以看到一些延迟。
我有几个使用 ARKit 1.5 开发的项目,在 iOS 11.4.1 之前都运行良好。当我使用 Xcode 10 beta 将 iOS 升级到 版本 12 beta 和 运行迄今为止的最新版本),我的 AR 会话变得非常无响应并冻结。
对于我的 ARSceneView
使用 OverlaySKScene
的项目,这种冻结甚至是糟糕的。这是一个我应该提交的错误,还是只发生在我身上,我应该做一些代码优化?如果是这样,请帮助我提供有关如何优化性能的想法。
我读了这个帖子 ARKit 2 freezes: a bug or my misfortune? 并将我的部署目标更改为 iOS 12 但仍然没有成功:(
注意:我很难完全使用ARKit 2.0重做应用程序。
我解决了这个问题。这是因为我在渲染器方法下面做了很多广泛的编码。我正在使用以下方法更新 SKScene 的 SpriteKit
组件。
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
// some stuff
}
现在替换下面的代码,
func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) {
// some stuff
}
现在应用程序停止冻结。但我仍然可以看到一些延迟。