SCNView第一次呈现场景非常慢

时间:2016-02-24 05:52:13

标签: ios scenekit collada

我想在运行时在SceneKit中动态加载Collada文件。我使用了copySceneKitAssetst生成.DAE文件并将其放入我的服务器。该应用程序可以从服务器下载并使用此文件初始化SCNScene(请参阅http://www.the-nerd.be/2014/11/07/dynamically-load-collada-files-in-scenekit-at-runtime/)。

执行“./copySceneKitAssets”时没有错误,并且可以正确呈现模型。在将gameScene设置为scnView.scene之前,我已调用[scnView prepareObject:gameScene shouldAbortBlock:NULL]

问题是scnView第一次呈现gameScene,它非常慢(几秒钟)。甚至主线程在此期间被阻止,这意味着UI无法刷新,有时候应用程序被iOS杀死。从第二次呈现场景时,它非常快,主线程运行良好。但是如果我们删除应用程序和重新安装它,问题再次出现。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我认为prepareObjects(_:withCompletionHandler)(在SCNSceneRenderer上定义)值得一看。它在后台线程上加载资源。