В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения
Работа над исправлением ведётся. Хотя ввиду старости и отсуствия исходников Age of Empires Online сложно что-то делать.
Project Celeste - это возрождённая фанатами стратегия Age of Empires Online без доната. Новые ребята продолжают пилить игру и уже сделали 2 новые нации: римлян и индийцев. Тематические ивенты проводят, сейчас идёт зимний.
Сегодня команда решила поделиться некоторыми техническими моментами. С 2017 года игроки периодически сталкивались с проблемой. Не подгружалась текстура интерфейсов - рамка внутриигровых окон становилась белой.
В 2021 году предпринимались действия по анализу бага. Оказалось, не хватает памяти.
Age of Empires Online создавалась 32-битным приложением, а потому не может использовать больше 2 ГБ оперативной памяти по умолчанию.
И к большому кол-ву ядер процессора игра не вполне готова. Есть предположение, что игра создаёт в памяти области под каждое ядро. Поэтому некоторым игрокам помогало ограничение числа ядер для игра, но это лишь отсрочка проблемы.
Создатели AoEO сделали механизм кэширования некоторых текстур в память, чтобы не подгружать их постоянно с диска. Это позволяет выиграть время ценой памяти.
У команды нет полного набора исходников, чтобы обновить игру до 64-битной версии. Получается, они, скорее, мододелы. Но кое-какие меры можно принять:
- Пошаманить с /LARGEADDRESSAWARE. Возможно, удастся выиграть ещё пару ГБ, чтобы отложить проблему.
- Оптимизировать некоторые фичи Xlive. В работе с ним авторы были расточительны. Можно даже заняться унификацией управления памятью между игрой и xlive, сейчас там отдельные системы.
- Если запускать игру через Steam или Discord, оверлеи тоже увеличивают расход памяти. Об этом можно добавить предупреждение при запуске.
Этим постом разраб хотел показать, что помнит о проблеме и занимается ею, а не сделать какое-то объявление.