Как уменьшить загрузку игры HTML5 на мобильные устройства (iOS и т. Д.)? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть игра HTML5, над которой я работаю, которая использует пару библиотек JavaScript, которые объединены (минимизированы) примерно в 1,5 Мб и имеют ресурсы в 1,5 Мб (3D-модели и PNG-текстуры).Мой настоящий игровой код добавляет жалкие 50 КБ сверху.В целом, это чуть больше 3 МБ.

У меня есть 2 вопроса:

  1. Пока я занимаюсь разработкой и тестированием основных сторонних библиотек, игровые ресурсы не меняются,Только 50kb или около того логика игры меняется.Могу ли я протестировать на мобильном устройстве (в моем случае Safari в iPhone) и загрузить все эти библиотеки и ресурсы один раз и загрузить только исправленные файлы логики игры?

  2. Если я поделюсь с вамиURL с друзьями, будут ли они вынуждены загружать весь лот каждый раз, когда перезагружают страницу?

Я думаю, суть в том, какие варианты кэширования есть, если они есть.избежать постоянной перезагрузки статических (неизменных) библиотек / ресурсов?

Любая помощь / совет приветствуются.

Спасибо

Мартин

1 Ответ

0 голосов
/ 22 мая 2018
  • Библиотеки JavaScript - если это популярная библиотека, будет более эффективно загружать их из CDN, так как более вероятно, что браузер кэширует ее с другого сайта.
  • Вы можете разделитькод для двух файлов minify / uglify и для файла, который вряд ли будет изменен, добавьте Expires или Cache-Control Header на сервере: https://developer.yahoo.com/performance/rules.html?guccounter=1#expires
  • Используйте Gzip (вы также можете найти его в приведенном вышессылка), что уменьшит размер файлов ответов.
  • Вы можете добавить работника сервиса в сочетании с интерфейсом Cache (работник сервиса не поддерживается во всех браузерах) для кэширования файлов JS, включая ресурсы (например, изображения):

https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API https://developer.mozilla.org/en-US/docs/Web/API/Cache

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...