Notes |
|
(0014126)
|
8orms
|
11-04-2014 06:22
|
|
Одну группу из 60 линий экспортирует в течении 3 секунд, а из соседней группы одну метку экспортирует в течении 7 секунд ( при экспорте всей группы наглухо виснет и начинает жрать оперативку 400 - 500 - 600 и более МБ. |
|
|
(0014127)
|
zed
|
11-04-2014 08:49
|
|
Проект точно SACS?
И наверное, не помешал бы пример sml, на котором воспроизводится проблема. |
|
|
|
Перенесено из SACS в SAS согласно мыла пользователя. |
|
|
(0014129)
|
zed
|
11-04-2014 09:43
|
|
8orms
Укажите, какой конкретно версией вы пользуетесь и приложите sml. |
|
|
(0014130)
|
8orms
|
11-04-2014 17:24
|
|
v.140303.7919
v.140407.8030
SML? надо немножко погуглить. |
|
|
(0014131)
|
zed
|
11-04-2014 17:26
|
|
Ваши метки программа хранит в sml файлах в корне с exe файлом. |
|
|
(0014132)
|
8orms
|
11-04-2014 17:35
|
|
http://dropmefiles.com/R66PM
http://dropmefiles.com/sMuQ8 |
|
|
(0014133)
|
zed
|
11-04-2014 17:38
|
|
А в чём была сложность заархивировать и приаттачить их сразу сюда? Ну да ладно. |
|
|
(0014134)
|
zed
|
11-04-2014 17:51
|
|
Да, висит и потихоньку отжирает кучу памяти. Эврика детектит заморозку гуя. |
|
|
(0014135)
|
8orms
|
11-04-2014 20:26
|
|
Не хочу показаться ламером, но как заморозить графический интерфейс? |
|
|
|
Увы, это не ошибка САС.Планеты, а просто проблемы используемого для формирования kml компонента TXMLDocument. Он просто работает медленно, а у вас очень специфические метки. Требуется полностью переделывать экспорт меток в kml, что бы он заработал быстрее. |
|
|
(0014403)
|
zed
|
10-07-2014 19:52
(edited on: 10-07-2014 19:56) |
|
Заметил особенность. Если сделать экспорт, а затем импорт этих меток в sml формат, то у путей сильно увеличивается количество точек и частей (в 2-4 раза).
Особенно это заметно на пути:
Категория: ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 389122
Количество точек: 778244
Длина: 9059,69 км
после импорта он превращается вот в такое чудо на 3 миллиона точек и 1,5 миллиона частей:
Категория: Новая категория\ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 1556482
Количество точек: 3112964
Длина: 36244,70 км
У пути изменилась так же и длина - в 4 раза.
Это я к тому, что кроме как медленного компонента для экспорта в kml, возможно тут присутствует какой-то баг с обработкой путей, который превращает и так медленный экспорт в невозможный. В sml оно кстати импортирует/экспортирует более-менее нормально (делал в два этапа: вначале все метки, кроме этой особенно большой, а вторым этапом обрабатывал отдельно эту метку).
Upd: А если отрыть отдельно экспортированный путь (подменой sml), то по нему вот такая информация:
Категория: \ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 778242
Количество точек: 1556484
Длина: 18121,36 км
Явно где-то баг, который накручивает число точек.
|
|
|
|
Нужно смотреть, а еще лучше написать тест, который будет воспроизводить багу, а уже потом фиксить. Я все никак не соберусь это дело тестами покрыть. |
|
|
(0014407)
|
8orms
|
11-07-2014 05:38
|
|
Для информации (вдруг чем поможет):
Пути(полигоны) получены путем экспорта полилиний из Autocad civil 3d в KML.
Линии в KML получаются как множество идущий друг за другом отрезков, а не как сплошная полилиния. Чтобы превратить в одну полилинию можно воспользоваться GlobalMapper, но для этого сначала надо выгрузить нужные полилинии (на этом этапе все виснет). |
|
|
|
Оно не виснет, оно очень медленно работает. Подождите пару суток и оно закончит :) И та бага о которой говорит Zed максимум удваивает время. Но оно в любом случае очень большое получается из-за использования XMLDocument |
|
|
(0014415)
|
zed
|
12-07-2014 14:49
|
|
Пофиксил багу с удвоением.
А по поводу XML: может попробовать заменить на реализацию из Alcinoe? Интерфейс там один-в-один, если не ошибаюсь. Правда на объектах и ансишных строках, зато обещают прирост скорости в 10-100 раз :) |
|
|
|
Та не вопрос. Если есть желание и время, то всегда пожалуйста. Не думаю, что станет хуже. На самом деле, там практически любой XMLWriter прокатит даже тупой самописный. DOM Дерево было нужно до того, как на вход стало приходить готовое дерево категорий. |
|
|
(0014417)
|
zed
|
12-07-2014 16:08
|
|
Ого! Профит от замены компонента получился огромный. Весь этот тестовый набор получилось без проблем экспортировать в kml за ~ 10 секунд! Я такого, честно говоря, не ожидал и был приятно удивлён :)
И да, ансишные строки alcinoe совсем не помешали. Я как-то упустил, что в kml utf8, а не юникод, так что с этим всё в порядке.
P.S. Приаттачил скомпиленные бинарники: 2704.7z - тестируйте.
|
|