不均匀的场景变化延迟统一
Posted
技术标签:
【中文标题】不均匀的场景变化延迟统一【英文标题】:uneven scene change delay in unity 【发布时间】:2017-05-27 03:09:24 【问题描述】:我在 unity 5 中制作了 android 2d 游戏,大约有 15 个场景,并将场景更改脚本应用于按钮,我观察到通过 onclick 按钮更改场景的延迟不均匀,一些场景快速加载,而其他场景在大约 1 的短暂延迟后加载2 秒,有时 2~3 秒,建议可以做什么。
【问题讨论】:
你到底想要什么??要消除延迟吗?? 是的,我希望所有场景同时加载 个人版是不可能的? 是的,但是您可以添加一个加载屏幕来显示用户。 加载时间取决于这些场景包含的内容以及加载它们时运行的脚本。加载屏幕是最安全的选择。或者,如果用户打算在加载场景后看到相同的 UI,则只需禁用所有按钮并显示加载消息。 【参考方案1】:准确但可能不受欢迎的答案:
您对此无能为力
Unity 场景,当您加载新场景时,必须从磁盘反序列化(它们不保存在内存中!)。场景越大(游戏对象、单一行为等越多),此过程所需的时间就越长。此外,每个 MonoBehaviour 脚本需要发送一个Awake()
和Start()
调用,其中has some significant overhead。
您可以通过使用更少的带有 Awake 和 Start 方法的脚本(从单个 Main 脚本在不同的方法签名下调用相同的逻辑)以及更少的脚本(进一步集中您的程序)以及在Fast But No Exceptions
和.NET Subset
下编译游戏(但它们都不能用于编辑器运行),两者都在之前的链接文章中提到。
Unity 也有可能以资源格式(即clunky and slow)编译场景,而您可能会受益于使用Asset Bundles。
但是,无论您的优化工作如何(存在的选项很少),您仍然会受到各种场景之间的加载时间的限制。一个复杂的场景总是比一个较小的场景需要更长的时间来过渡,没有办法那个。
【讨论】:
以上是关于不均匀的场景变化延迟统一的主要内容,如果未能解决你的问题,请参考以下文章