На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Где mapSetOpenDataLimits/mapGetOpenDataLimits?

Поиск  Пользователи  Правила  Войти
Форум » Linux » ГИС Панорама для Linux
Страницы: 1
RSS
Где mapSetOpenDataLimits/mapGetOpenDataLimits?
 
В `mapapi.h` есть описание следующих функций:

Код
 // Запросить/Установить максимальный размер и количество одновременно отрытых данных
 // для загрузки в оперативную память и ускорения процесса многопоточной обработки
 // данных
 // maxcount - количество одновременно открытых карт(листов) в оперативной памяти
 // maxsize - максимальный размер одного открытого в оперативной памяти файла карты(листа)
 // При превышении заданных значений будет применяться общий буфер для прокачки данных,
 // что приведет к локированию параллельных потоков (падению производительности).
 // При превышении запрошенных значений доступной оперативной памяти будет
 // происходить отказ при открытии данных

 _MAPIMP void _MAPAPI mapSetOpenDataLimits(long int maxcount, BIGINT maxsize);
 _MAPIMP void _MAPAPI mapGetOpenDataLimits(long int* maxcount, BIGINT* maxsize);


Но при попытке слинковать код с использованием таких функций
выдается ошибка, что данные функции не найдены,
и действительно:

Код
$ ls *.so
libqdgdalserv.so       libqdmap3dex.so   libqdmapmtrex.so  libqdutils.so
libqdjpgview.so        libqdmapacces.so  libqdmappicex.so
libqdlocalizations.so  libqdmapmath.so   libqdmapvecex.so
$ grep  mapCompressLZW *.so
Двоичный файл libqdmapacces.so совпадает
$ grep mapGetOpenDataLimits *.so
$


Данных функций нет как в моей лицензионной версии
("ГИС Конструктор для Qt Designer x86 версия 12, Qt 4, Qt 5, ОС Astra linux special edition релиз Смоленск для платформы x64")
так и в последней версии, скаченной с сайта от 10.05.2018.

Хотя и там и там она есть в mapapi.h,
что не так с этими функциями?
 
Таких функций действительно нет.
Есть другие функции:
Код
 // Установить ограничение на число листов, открытых одновременно
 // Применяется при работе с многолистовыми картами местности в
 // ограниченной области памяти
 // hmap - идентификатор открытых данных
 // islimited - признак установки ограничения числа открытых листов,
 // обычно от 8 до 32, но не менее числа потоков, обрабатывающих листы параллельно
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetActiveListCountLimit(HMAP hmap, long int islimited = 32);

 // Установить ограничение на размер используемой памяти
 // Применяется при работе с большими многолистовыми картами
 // hmap - идентификатор открытых данных
 // limit - размер разрешенной к использованию памяти
 // Если лимит больше доступной приложению памяти,
 // устанавливается доступный объем физической памяти
 // Если лимит меньше 200 Мб, то устанавливается 200 Мб
 // При ошибке возвращает 0

_MAPIMP unsigned long int _MAPAPI mapSetMemoryLimit(HMAP hmap, unsigned long int limit);  // 25/11/16

Но они нужны для работы на устройствах с ограниченным объемом оперативной памяти,
где нужно отображать большие территории с постепенным перемещением (типа навигаторов).
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2020

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности