Страница 1 из 1
Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 14:16
novice
Сейчас карта обновляется следующим образом:
Код: Выделить всё
Map1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
Пытался так же
Код: Выделить всё
Map1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics,null, Map1.ActiveView.Extent);
Скорость обновления в обоих случаях одинаковая.
Собственно вопрос: можно ли отобразить все объекты сразу и как можно быстрее?
Re: Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 14:29
lam
Какое общее количество узлов для 200 объектов и физический размер этого слоя.
Re: Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 16:37
novice
Я не могу ответить на этот вопрос, так как поведение кода непредсказуемо. Сам проект написан отвратительно: копипаста, куча неиспользуемых функций, отсутствие комментариев, дикие названия переменных.
В общем, я сделал, что 10 объектов(т.е. на самом деле это 40 объектов с кучей узлов) отображаются быстро(до этого даже 5 тормозило + постоянно перерисовывало, а объектов 20 отрисовывало минуту). Думаю этого будет достаточно.
Re: Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 20:03
novice
Мне подсказали отличный способ борьбы с внешним проявлением тормозов.
При перемещении по карте у меня часть видимых на предыдущем экстенте карты тайлов не перерисовывается. Можно ли в принципе сделать так, чтобы и часть видимой векторной графики с предыдущего шага не перерисовывалась?
Re: Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 22:44
novice
Решение: убрать обновление графики по следующим событиям: изменение экстента; по всем событиям, связанными с мышкой. Т.е. оставить обновление только: при выделении/снятии выделения с объекта на карте(в этом случае обновлять только выделенную векторную графику) и при добавлении/удалении объектов на карту.
Re: Моментально обновить на карте 200 объектов
Добавлено: 28 мар 2013, 22:46
novice
при среднем объеме данных на карте скорость отображения выросла раз в 30, при выделении/снятии выделения с объектов тормозов нет совсем; при перемещении карты по территории, где нет векторной графики тормозов нет совсем