Планировалась работа по импорту SXF в главном приложении, которое при запуске съедает больше 8Mb. То есть мы не сможем использовать функцию импорта SXF, не завершив главное приложение.
В результате там получаются файлы (sit и сопутствующие) в сумме размером около 60-65 Mb, примерно столько и съедает функция ImportFromAnySxfEx, как-будто пишет сначала в память а потом уже сбрасывает на диск когда импорт завершён.
В качестве исходных данных используется SXF файл Рязанской области с вашего сайта: Карта рязанской области
Важное уточнение - память кончается на нашей ARM платформе.
Вопрос - такое поведение связано с большим количеством объектов в вышеуказанном SXF? Можно ли как-то соптимизровать потребление памяти ?
Пока всё что мне приходит в голову (если ничего улучшить в функции ImportFromAnySxfEx нельзя) - это брать описание формата SXF, и вручную разбивать его на более мелкие файлы (ломая головую над объектами на границе более мелких файлов).
Тэкс, мне тут объяснили что в требованиях было прописано наличие как минимум 512 Mb (чё-то я забыл про этот момент), а плату для отладки не GUI приложений мне дали какую-то урезанную, вопрос про потребление памяти не то чтобы снимается, но уже не критичен. Хотелось бы просто комментарий получить, оптимально ли потребление памяти в ImportFromAnySxfEx, и если нет планируются ли оптимизации в будущем.
А нет, в требованиях для i.MX 6 всё таки не менее 256 Mb. У нас планируется делать платы почти все на 512 Mb, но будут и какие-то изделия с 256 Mb на борту, и наше ПО должно будет работать и на таких платах. Видимо будем отключать поддержку импорта SXF на таких платах, либо как-то обрабатывать большие SXF, разбивая их на более мелкие.