不均匀的场景变化延迟统一
uneven scene change delay in unity
我在 unity 5 中制作了 android 2d 游戏,有大约 15 个场景并将场景更改脚本应用于按钮,我观察到通过 onclick 按钮更改场景的延迟不均匀,一些场景加载速度很快,而另一些场景加载时间较晚大概1~2秒,有时2~3秒的短暂延迟,建议可以做什么。
准确但可能不受欢迎的答案:
对此您无能为力
Unity 场景,当你加载一个新场景时,必须从磁盘反序列化(它们不 保存在内存中!)。场景越大(游戏对象、单一行为等越多),这个过程花费的时间就越长。此外,each MonoBehaviour 脚本需要发送 Awake()
和 Start()
调用,其中 has some significant overhead.
您可以通过使用更少的带有 Awake 和 Start 方法的脚本(从单个 Main 脚本在不同的方法签名下调用相同的逻辑)以及更少的总体脚本(进一步集中您的程序)来减少开销,因为以及在 Fast But No Exceptions
和 .NET Subset
下编译游戏(但是编辑器 运行 都不能使用这些),两者都在之前的链接文章中提到过。
Unity也有可能以资源格式编译出场景(而不是clunky and slow) and you may benefit from using Asset Bundles。
但是,无论您的优化工作如何(存在的选项很少),您仍然会受到各种场景之间加载时间的限制。一个复杂的场景 总是 比一个较小的场景需要更长的时间来过渡,那个。
没有办法。
我在 unity 5 中制作了 android 2d 游戏,有大约 15 个场景并将场景更改脚本应用于按钮,我观察到通过 onclick 按钮更改场景的延迟不均匀,一些场景加载速度很快,而另一些场景加载时间较晚大概1~2秒,有时2~3秒的短暂延迟,建议可以做什么。
准确但可能不受欢迎的答案:
对此您无能为力
Unity 场景,当你加载一个新场景时,必须从磁盘反序列化(它们不 保存在内存中!)。场景越大(游戏对象、单一行为等越多),这个过程花费的时间就越长。此外,each MonoBehaviour 脚本需要发送 Awake()
和 Start()
调用,其中 has some significant overhead.
您可以通过使用更少的带有 Awake 和 Start 方法的脚本(从单个 Main 脚本在不同的方法签名下调用相同的逻辑)以及更少的总体脚本(进一步集中您的程序)来减少开销,因为以及在 Fast But No Exceptions
和 .NET Subset
下编译游戏(但是编辑器 运行 都不能使用这些),两者都在之前的链接文章中提到过。
Unity也有可能以资源格式编译出场景(而不是clunky and slow) and you may benefit from using Asset Bundles。
但是,无论您的优化工作如何(存在的选项很少),您仍然会受到各种场景之间加载时间的限制。一个复杂的场景 总是 比一个较小的场景需要更长的时间来过渡,那个。
没有办法。