На связи
Red Crab Games и
Antelus Games! 💙
Как и обещали - выкладываем пост про оптимизацию игры. 📈
Мы были крайне не удовлетворены результатом производительности на выставках "Игропром" и "РЭД ЭКСПО". В связи с этим была проделана огромная работа с целью оптимизировать игру. 🛠
Дальше будет технический лонгрид, который мало кому интересен.
Мы выделили для себя несколько критериев, которые "кушают" производительность.
Начнем по-порядку:
1. Модели
Некоторые модели, используемые в игре имели слишком большое количество полигонов, что негативно отражалось на загрузке CPU. Была произведена полная ретопология некоторых моделей. Следом была добавлена и вручную настроена система LOD'ов для КАЖДОГО объекта в игре.
2. Текстуры
По аналогии с предыдущим пунктом была введена и настроена система сжатия текстур в зависимости от расстояния (Она же - MiniMaps). Мы заметили, что графический процессор сильно страдает от отрисовки множества 4к текстур и выше на постоянной основе. Поэтому было принято решение о сжатии текстур без потери качества (почти). В зависимости от удаленности от игрока текстуры сжимаются в более простой и "легкий" вид.
3. Загрузка карты
Карта была разбита на несколько "чанков" - они же - ключевые куски карты. Чанки, которые не видит игрок теперь выгружаются с целью сохранения пиковой производительности.
4. Освещение
Свет. Главная проблема. Данный элемент, как черная дыра, поглощал производительность ПК в сумасшедших масштабах. Была проведена работа с выгрузкой из рендера всех источников освещения, которые не видит игрок. Далее все тени (почти все) были запечены в статичные текстуры. Была настроена карта теней с корректной плотностью.
5. Анимации
Переработали систему анимаций для фоновых объектов, что позволило снизить нагрузку на CPU.
6. Программная часть
Была введена асинхронная загрузка ресурсов. Оптимизирована работа с памятью.
Теперь самое интересное - РЕЗУЛЬТАТЫ. ⚡️
После всех проделанных действий нам удалось добиться:
- Рост FPS на 40-60% 💹
- Снижение времени загрузки карты на 35% ⏳
- Снижение потребления оперативной памяти на 20% 🚀
- Более стабильная работа без потери качества картинки ✨
Продолжаем работать над улучшением игры! Конец связи! 💙