Я создаю оболочку для игры HTML, чтобы запускать несколько ее экземпляров в одном окне.
Игра представляет собой скрипт, который использует объект window
для хранения глобальных состояний, переменных и чего-либо еще. Он др aws интерфейс игры на холсте и отображает его. Несколько HTML элементов также на экране, чтобы позволить пользователю взаимодействовать с игрой.
Для запуска нескольких экземпляров я использую iFrames, которые я скрываю / показываю в зависимости от текущего выбранного кадра.
Проблема возникает, когда я запускаю много таких игровых экземпляров: поскольку я загружаю все кадры (хотя я только отображаю один), они все вычисляют свое собственное состояние, что приводит к огромным задержкам для приложения.
Сначала я подумал, что могу загрузить игру в JS -созданный iframe
, но состояние не сохраняется при переключении экземпляров. Кроме того, iframe должен отображаться как минимум один раз для загрузки его содержимого с помощью этого метода, что приводит к тому же результату, что и раньше.
Есть ли решение для улучшения производительности вокруг этой идеи? В идеале я хотел бы иметь один iframe и иметь возможность переключать состояния при изменении текущего экземпляра.
Я знаю, что это не типичный вопрос "У меня проблема" с воспроизводимым кодом, но я не уверен, что могу поделиться примером проблемы (также я хотел бы сохранить свою игру в секрете на данный момент)