В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения

Работа над исправлением ведётся. Хотя ввиду старости и отсуствия исходников Age of Empires Online сложно что-то делать.

В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения

Project Celeste - это возрождённая фанатами стратегия Age of Empires Online без доната. Новые ребята продолжают пилить игру и уже сделали 2 новые нации: римлян и индийцев. Тематические ивенты проводят, сейчас идёт зимний.

Сегодня команда решила поделиться некоторыми техническими моментами. С 2017 года игроки периодически сталкивались с проблемой. Не подгружалась текстура интерфейсов - рамка внутриигровых окон становилась белой.

В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения

В 2021 году предпринимались действия по анализу бага. Оказалось, не хватает памяти.

В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения

Age of Empires Online создавалась 32-битным приложением, а потому не может использовать больше 2 ГБ оперативной памяти по умолчанию.

И к большому кол-ву ядер процессора игра не вполне готова. Есть предположение, что игра создаёт в памяти области под каждое ядро. Поэтому некоторым игрокам помогало ограничение числа ядер для игра, но это лишь отсрочка проблемы.

Создатели AoEO сделали механизм кэширования некоторых текстур в память, чтобы не подгружать их постоянно с диска. Это позволяет выиграть время ценой памяти.

В Project Celeste случается проблема нехватки памяти из-за 32-битности приложения

У команды нет полного набора исходников, чтобы обновить игру до 64-битной версии. Получается, они, скорее, мододелы. Но кое-какие меры можно принять:

  • Пошаманить с /LARGEADDRESSAWARE. Возможно, удастся выиграть ещё пару ГБ, чтобы отложить проблему.
  • Оптимизировать некоторые фичи Xlive. В работе с ним авторы были расточительны. Можно даже заняться унификацией управления памятью между игрой и xlive, сейчас там отдельные системы.
  • Если запускать игру через Steam или Discord, оверлеи тоже увеличивают расход памяти. Об этом можно добавить предупреждение при запуске.

Этим постом разраб хотел показать, что помнит о проблеме и занимается ею, а не сделать какое-то объявление.

4
6 комментариев