【问题标题】:ARKit 2.0 screen is unresponsive on using "OverlaySKScene"ARKit 2.0 屏幕在使用“OverlaySKScene”时无响应
【发布时间】:2019-01-29 10:15:41
【问题描述】:

我有几个使用 ARKit 1.5 开发的项目,并且在 iOS 11.4.1 之前它运行良好。当我将我的 iOS 升级到 Version 12 beta 并使用 Xcode 10 beta(迄今为止的最新版本)运行它时,我的 AR 会话变得非常无响应并卡住了。

这种冻结对于我使用OverlaySKScene 作为我的ARSceneView 的项目来说甚至更糟糕。这是我应该提交的错误还是只发生在我身上,我应该做一些代码优化?如果是这样,请帮助我提供有关如何优化性能的想法。

我阅读了这个帖子 ARKit 2 freezes: a bug or my misfortune? 并将我的部署目标更改为 iOS 12 但仍然没有运气:(

注意:使用 ARKit 2.0 完全重做应用程序对我来说非常困难。

【问题讨论】:

    标签: swift4 arkit skscene xcode10 ios12


    【解决方案1】:

    我解决了这个问题。这是因为我在下面的渲染器方法中做了很多广泛的编码。我正在以下方法中更新我的 SKScene 的 SpriteKit 组件。

    func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) { 
        // some stuff
    }
    

    现在替换下面的代码,

    func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval) { 
        // some stuff
    }
    

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

    【讨论】:

    • @ yaali 我已经尝试过你的代码,但是如果我将虚拟对象放置在表面上,那时 ARKit 相机会冻结。我得到以下日志。 [技术] 世界跟踪性能受到资源限制的影响 [1]。请指导我。谢谢
    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 2021-06-05
    相关资源
    最近更新 更多