我一直在为 iOS 开发一个非常简单的游戏,它只有三个场景;开始场景、游戏场景和游戏结束场景。我正在运行游戏并使用分析器分析性能,我注意到当我改变场景时,使用“SceneManager.LoadLevelAsync()”函数,CPU 使用率约为 90%。这当然只持续不到一秒钟,然后 CPU 使用率再次下降,我得到了大约 70-80 fps,但这让我想知道对于这样的简单游戏来说,如果我只拥有几个UI“屏幕”(基本上只是一组我可以激活和停用的对象),这就是我对暂停屏幕所做的(它只是一个叠加层)。
当然,这可能有其自身的困难,就像我必须在同一场景中重新启动游戏一样,但它可能会帮助我解决运行我在音乐管理器上构建的静音功能的问题,该功能在开始时实例化场景,从我游戏场景上的一个按钮,我不必在音乐管理器或我的乐谱管理器上使用“DontDestroyOnLoad()”函数(它存储要在游戏结束场景上显示的乐谱)。但是,拥有这么多未激活的对象会不会效率低下,还是 Unity 非常擅长管理此类事情?