добавлено |
Добавлена буферизация объектов в слое темы. В диалоге свойств слоя темы в закладке «Параметры» присутствует соответствующая группа с чек-боксами «Динамическая буферизация» и «Предварительная загрузка». Так как описание буферизации еще не попало в Руководство Пользователя, приводим описание ниже:
Буферизация объектов
С каждым слоем в теме (включая рабочие слои темы) может быть связан буфер объектов слоя. Буфер объектов слоя предназначен для увеличения производительности операций селекции и фильтрации объектов, а также для повышения скорости прорисовки объектов, за счет размещения объектов слоя в оперативной памяти компьютера.
Использование буфера объектов слоя приводит к существенному увеличению потребления оперативной памяти. В силу этого, использовать буфера объектов следует с осторожностью. Установка буферов для всех слоев темы может привести к увеличению страничного обмена в операционной системе, что приведет к существенной потере производительности, или даже к исчерпанию виртуальной памяти операционной системы.
Основными слоями-кандидатами на использование буферов являются слои, в которых пользователь наиболее интенсивно осуществляет операции селекции объектов, а также слои, содержащие объекты-аргументы геометрических критериев фильтрации (как правило, это рабочие слои темы, содержащие небольшое количество объектов).
Для создания буфера объектов слоя пользователь должен установить режимы использования буфера объектов слоя при настройке свойств слоя в теме. Если пользователь явно не устанавливает режимы использования буфера объектов, буфер для слоя не будет создаваться. Однако, если пользователь работал ранее с темой, в которой для данного слоя был создан буфер объектов, он будет использоваться и при отображении других тем, содержащих данный слой, независимо от настроек режимов использования буфера объектов. (т.е. буфер объектов слоя носит глобальный характер для всей ГБД). Пользователь не имеет возможности явного устранения буфера объектов — он освобождается только при завершении сеанса работы с ГБД.
Существуют два режима использования буфера объектов слоя — динамическая буферизация и режим предварительной загрузки объектов в буфер. Оба режима могут быть установлены одновременно. Установленные режимы использования буфера объектов слоя сохраняются при каталогизации темы.
В режиме динамической буферизации, буфер изначально пуст (если не установлен режим предварительной загрузки буфера). По мере работы со слоем, при различных операциях селекции объектов и при включении фильтров, в которых имеются геометрические критерии, в буфер будут помещаться объекты-кандидаты для селекции и объекты-аргументы геометрических критериев фильтрации), что будет приводить к увеличению производительности при последующих операциях селекции (особенно если последующие операции селекции пространственно близки), фильтрации и прорисовки. Если режим помещения объектов в буфер не установлен, слой будет использовать буфер объектов для данных операции если он существует (в силу глобального характера буфера), но добавление объектов в буфер происходить не будет.
В режиме предварительной загрузки буфера все объекты слоя загружаются в буфер при открытии окна просмотра темы. Это приводит к некоторой задержке при открытии окна, но обеспечивает максимальную производительность операций селекции, фильтрации и прорисовки. Режим предварительной загрузки буфера приводит к существенному потреблению оперативной памяти и его следует использовать предельно осторожно. В процессе модификации объектов некоторые объекты могут быть удалены из буфера. При этом, если одновременно не установлен режим динамической буферизации, такие объекты будут извлекаться из файлов ГБД, что приведет к снижению производительности. Для слоев с интенсивной модификацией объектов имеет смысл помимо установки режима предварительной загрузки также установить режим динамической буферизации. В ряде случаев, при совместном доступе к ГБД со стороны нескольких пользователей, возможна полная очистка буфера объектов. В такой ситуации, при установленном режиме предварительной загрузки объектов, будет происходить повторная загрузка объектов, что может привести к некоторой паузе при операциях селекции, фильтрации или прорисовке темы. |