我正在尝试异步加载场景,这样我可以有一个不错的进度条,我发现返回的 AsyncOperation.progress 停止在 0.9。我对此没有意见,但发生的情况是,在那之后,加载场景需要 50 秒,并且进度不会显示。删除一些对象后,我发现有 1 个(主要场景对象)导致了这种延迟。
我的问题是,有没有办法在前 90% 的负载中加载这个对象(现在发生得非常快 - 1s)?
提前致谢
如果此 GameObject 在场景中,则它与场景一起加载。您遇到的问题是场景中的所有脚本逻辑。加载线程实际上已完成,但脚本、实例化等占用了所有设备资源,看起来卡在 90% 上。
为了解决它,我认为您应该延迟 Awake 或 Start 方法上的所有脚本执行。这应该会有所帮助,但是在特定设备上执行脚本所需的所有时间仍然会占用所有 CPU,并且看起来又像卡住了。
所以,似乎这一切都与我使用的物质有关。这对我来说真的很奇怪,因为我明确地将它们都检查为“烘烤和丢弃物质”,这似乎什么也没做。在烘焙所有纹理并在材料中从物质切换到纹理后,加载时间从 42 秒下降到 1 秒