Использование памяти механизмом надписей Maplex
Надписывание может быть очень ресурсоемким по отношению к памяти процессом, так как механизм надписей определяет расположение сотен или тысяч фрагментов текста. Механизм надписей Maplex выделяет память по мере необходимости во время процесса надписывания. Если необходимо, механизм надписей будет использовать всю доступную физическую память во время процесса надписывания. По соображениям производительности никакой явной подкачки страниц из виртуальной памяти механизм надписей Maplex во время надписывания не выполняет. Однако некоторая подкачка страниц может выполняться операционной системой. Процесс надписывания может полностью израсходовать физическую память, особенно когда надписывание выполняется во время операции конвертирования надписей в аннотации. Обычно это приводит к одному из двух результатов:
- Надписи размещаются с худшим качеством.
- Процесс надписывания завершается выдачей сообщения об ошибке Недостаточно памяти (Out of Memory).
Количество используемой памяти зависит от следующих параметров:
- Количество надписываемых объектов
- Экстент подписываемой карты
- Количество пробных размещений, которые генерируются на основе свойства размещения надписей
Если вы столкнулись с проблемами использования памяти при создании надписей с помощью механизма надписей Maplex, попробуйте уменьшить значение одного из вышеперечисленных параметров. Например, надпишите меньшее количество объектов, если при большем надписывание не выполнено. Или, при конвертации надписей в аннотации, конвертируйте только надписи в пределах отображаемого экстента или используйте инструмент Надписи листов в аннотации (Tiled Labels To Annotation) для конвертации надписей в аннотации для слоев в документе карты на основе полигонального индексного слоя.