Проблема производительности при смене сцены с Zenject
У меня есть две сцены: Меню и Главная. И у меня огромное отставание SceneManager.LoadScene("Main")
,
Вот данные от профилировщика: https://gyazo.com/da116d1f8e9b429e9170bc3769d23ac4
Как я понимаю, задержка 1с связана с инициализацией контекста Zenject.
Вот мой установщик:
using LevelGenerators;
using Signals;
using States;
using UnityEngine;
using Zenject;
public class MainMonoInstaller : MonoInstaller<MainMonoInstaller>
{
[Inject] public BrickController.Settings BrickSettings;
public override void InstallBindings()
{
Container.BindInterfacesAndSelfTo<GameController>().AsSingle().NonLazy();
Container.BindInterfacesAndSelfTo<ScoreboardDataController>().AsSingle();
Container.BindInterfacesAndSelfTo<InputController>().AsSingle();
// signals
Container.DeclareSignal<LaunchBallSignal>();
Container.DeclareSignal<GameStateChangedSignal>();
Container.DeclareSignal<MovePlayerSignal>();
Container.DeclareSignal<MovePlayerToPositionSignal>();
Container.DeclareSignal<FloorTouchedSignal>();
Container.DeclareSignal<GiveScorepointsSignal>();
Container.DeclareSignal<AttachToPlayerSignal>();
Container.DeclareSignal<LevelCompletedSignal>();
Container.DeclareSignal<ResetPlayerStateSignal>();
Container.DeclareSignal<GameEndedSignal>();
// factories
Container.Bind<StateFactory>().AsSingle();
Container.BindFactory<StartingGameState, StartingGameState.Factory>();
Container.BindFactory<PlayingState, PlayingState.Factory>();
Container.BindFactory<GameOverState, GameOverState.Factory>();
Container.BindFactory<ClassicLevelGenerator, ClassicLevelGenerator.Factory>();
Container.BindFactory<StarLevelGenerator, StarLevelGenerator.Factory>();
//
Container.BindFactory<BrickController, BrickController.Factory>()
.FromComponentInNewPrefab(BrickSettings.BrickPrefab)
.WithGameObjectName("Brick");
Container.BindInterfacesAndSelfTo<LevelManager>().AsSingle();
Container.Bind<LevelGeneratorFactory>().AsSingle();
}
}
Сцена имеет около 40 игровых объектов во время выполнения.
Я использую Unity 2017.2.1f1, .NET 4.6 и Zenject 5.5.1.
Есть ли способы ускорить переключение между сценами?