При выпуске проекта в категории игры на внимание мы столкнулись с падением частоты кадров до ЦИФРА FPS на слабых компьютерах и мобильных устройствах. Проблема заключалась в использовании слишком больших текстурных atlas-файлов размером 4096×4096 pixels и непрерывном пересчете теней в реальном времени.
Поиск узкого места в производительности
Профилирование через встроенные инструменты разработчика в Chrome показало, что основной объем памяти занимали неоптимизированные эффекты частиц. Для браузерные игры критически важно удерживать размер первого загружаемого бандла в пределах ЦИФРА мегабайт, иначе пользователь закрывает страницу, не дождавшись загрузки.
Мы провели полную переработку визуально части за ФАКТ дней:
- Уменьшили размер всех текстурных карт до 2048×2048 pixels.
- Заменили процедурные тени на заранее отрисованные подложки.
- Сократили количество одновременно отображаемых элементов на экране с ЦИФРА до ЦИФРА штук.
Реальные показатели после оптимизации
Технический компромисс позволил снизить потребление оперативной памяти на ЦИФРА% и повысить частоту кадров до стабильных 60 FPS. Мы потеряли часть сложных объемных эффектов, но сохранили плавность откликов, что напрямую повлияло на время сессии. Сейчас все наши игры в браузере запускаются за ЦИФРА секунд даже при слабом интернет-соединении.
