Реальная проблема здесь заключается в количестве и размере внешних активов, которые вы загружаете, возможно, стоит подумать о загрузке некоторых из этих активов отдельно. Таким образом, ваш preloader был бы более точным. Как бы ни был сложен ваш код, загрузка ресурсов является основным элементом, который задерживает запуск вашего приложения.
С вашей текущей конфигурацией, если вы инкапсулируете загрузку некоторых ресурсов (так как вам могут не понадобиться все из них с самого начала), вы сможете напрямую создать в коде предварительный загрузчик, без DocumentClass, просто загрузив ресурсы в качестве первой функции и вызвав метод init () после завершения загрузки.