Использую "GIS ToolKit Free" v.12.5.2. Возникла задача последовательного создания большого количества карт (до нескольких сотен). В процессе создания происходит падение софта по причине переполнения памяти.
Написал небольшой тестовый пример, создающий некоторое количество ПУСТЫХ карт для проверки:
В итоге в диспетчере задач чётко виден рост памяти выделенной процессу, следовательно при mapCloseMap ресурсы не освобождаются. Та же ситуация при открытии карт:
Код
int MapIndex = 0;
UnicodeString MapPath = GetCurrentDir() + L"\\Tresh\\Map" + static_cast<UnicodeString>(MapIndex) + ".map"; // Путь для открытия первой карты
while (FileExists(MapPath)) // Пока файл сущетвует
{
Maptype::HMAP Map = mapOpenMapUn(MapPath.w_str()); // Открываю карту
// Пустая карта открыта
mapCloseMap(Map);
Map = 0; // Закрываю карту
MapIndex++;
MapPath = GetCurrentDir() + L"\\Tresh\\Map" + static_cast<UnicodeString>(MapIndex) + ".map"; // Путь для открытия на следующей итерации
}
Диспетчер опять же показывает рост памяти.
Решил проверить тот же код уже на SDK. В SDK такой проблемы не обнаружил, память освобождается корректно.
Сергей Алексеев написал: Диспетчер опять же показывает рост памяти.Решил проверить тот же код уже на SDK. В SDK такой проблемы не обнаружил, память освобождается корректно.
При формировании района работ из нескольких тысяч листов SXF или при различных видах обработки наборов данных память выделяется обычно в пределах нескольких сот мегабайт-двух гигабайт за счет закрытия обработанных листов. Диспетчер памяти не показывает в реальном времени результат освобождения локальной памяти (new/delete). Менеджер памяти может ее освобождать с запаздыванием.
Менеджер памяти может ее освобождать с запаздыванием.
Для наглядности ситуации с потреблением памяти приводим скриншоты со статистикой. На них очень наглядно видна проблема. Надеемся, что эта информация поможет в решении данной проблемы. Скрин GTK Скрин SDK
Елена Кузнецова написал: Использую "GIS ToolKit Free" v.12.5.2.Возникла задача последовательного создания большого количества карт (до нескольких сотен).В процессе создания происходит падение софта по причине переполнения памяти.
Предлагаем обновить версию программы до последней. На данный момент актуальная версия 12.5.7. Для обновления Вам нужно прислать номер лицензионного ключа на почту Техническая поддержка КБ Панорама <panorama@gisinfo.ru> и написать, чтобы предоставили ссылку на обновленную версию программы GIS ToolKit Free версия 12.
Сергей Алексеев написал: Заменил библиотеки на версию 12.5.7, память по прежнему не освобождается.
Добрый день. Есть ли какое-нибудь решение данной проблемы?
Уважаемые господа! Пожалуйста, помогите решить данную проблему, т.к. для заказчика необходимо в потоковом режиме создать порядка тысячи номенклатур, но из-за утечки памяти софт падает на 30-40%.