|
|
От: | omgOnoz | |
| Дата: | 27.11.14 03:00 | ||
| Оценка: | |||
| Скрытый текст | |
| kFk>Никак не могу разобраться, что в приложении потребляет лишнюю память. kFk>Из чего строю предположения о "лишней" памяти: kFk>1) Загружаю ряд текстур, в памяти они занимают 140мб. При этом потребление памяти увеличивается на 170мб. Итого 30мб overhead. kFk>2) Загружаю из xml множество строк, записываю их во что-то вроде std::vector<std::pair<std::string, std::string>>. kFk>Дальше вручную считаю сколько должно занять памяти. Для вектора считаю так: kFk> kFk>Каждую строку считаю так: kFk> kFk>Посчитанная память и выделенная почти полностью совпадают. kFk>3) Загружаю приложение(игру) целиком. Таким же образом как и в прошлом пункте считаю потребляемую память везде, где возможно (поэлементно рекурсивно все контейнеры, раскрываю все смарт-поинтеры, память текстур, ...). kFk>Посчитанная таким образом память — 243мб текстур + 7мб на все остальное. Реально выделенная — 350мб. Итого неизвестно куда уходят 100мб. Главная цель — понять что занимает эти злополучные 100мб. kFk>Память мерял через: kFk>- Windows: Private Bytes в Process Explorer от Русиновича kFk>- Windows kFk> kFk>- iOS kFk> kFk>Утечек нет или они минимальные, т.к. при многократной выгрузке и загрузке общая картина почти не меняется. kFk>Ситуация под Windows и iOS аналогичная. Пробовал профилировать память в Xcode Instruments, но безрезультатно. kFk>Помогите, а? kFk>Заранее огромная благодарность за любые подсказки. | |