Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SatMap (2)

Модерирует : gyra, Maz

Widok (02-08-2010 11:58): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

   

relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части темы

 
SatMap
просмотр, скачивание, кэширование, склейка и привязка спутниковых снимков/гибрида/карт/ландшафта с сервиса Google Maps.

 
FAQ
Настоятельно рекомендуется ознакомиться как опытным пользователям, так и всем новичкам.

 
Текущая версия 2.4.0 (multilingual):
История версий
полный комплект v2.4.0 (2.74 Mb)
v2.4.1.7 (только exe) (1.39 Mb)
SatMap API
 
* - архивы в формате 7-zip
 


Кэши скачанных районов
 


 
Официальный сайт http://satmap.narod.ru

 
Основные функции и возможности (на данный момент):
1. Импорт данных из кэша GoogleMV (версии 2.7+), GoogleV, EarthSlicer (только спутник), SatMap, SASPlanet, Global Mapper
2. Формат кэша: 1 кэш = 1 файл
3. До 100 подключаемых кэшей
4. Экспорт в кэш формата GoogleMV, SatMap, SASPLanet, GPSProga
5. Поиск, сохранение и переход по введенным координатам/названию места
6. Работа с путевыми точками и треками в формате OziExplorer (*.wpt, *.plt)
7. Измерение расстояния
8. Склейка/экспорт данных в графические форматы JPG, PNG, TIFF, ECW, JPEG2000, MrSID
9. Геопривязка в форматах Ozi Explorer, MapInfo, world-файл, TomTom overlay
10. Закачивание данных с сервиса Google Maps без бана
11. Показ высоты по данным SRTM
12. API для управления SatMap
13. Навигационный режим работы с GPS-приемником
14. Работа с базой данных географических названий объектов GNS
 
Планируется:
1. Работа с форматом kml/kmz
2. Возможность скачивать данные с других сервисов
3. и многое другое......
 
Программа распространяется бесплатно. Используйте ее на свой страх и риск.

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 13:17 02-04-2009 | Исправлено: relictus, 13:52 23-06-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь может подтвердить:

Цитата:
Стоит мне попробовать двинуть курсор на линейках "Черное" и "Белое" выскакивает AV at address 0078A5BE. После этого AV вылетает от нажатия любой другой кнопки. Лечится только перезагрузкой программы.

???
 
netrebos
Вдумчиво изучил твой баг-репорт - такая ошибка может быть только если у тебя вообще нет картинки на экране! Ты что-нибудь видишь на экране при ее возникновении?
А гамма-коррекция работает?
А на другом компе как?

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 10:11 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Не игрался с "настраиваемое количество вставок в БД (применимо при закачке по любому выделению) перед завершением транзакции"?

ещё не игрался, вчера не было времени детально смотреть..
MEMORY выставил сразу.

Цитата:
[+] настраиваемое количество вставок в БД

притом я бы и сейчас не понял, что это такое
и не очень понятное описание в Настройках
 
Добавлено:
relictus

Цитата:
Кто-нибудь может подтвердить:

Распаковываем Satmap
Запускаем Satmap
Настройки изображения
Двигаем например Чёрный
Получаем AV

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 10:12 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
притом я бы и сейчас не понял, что это такое  
и не очень понятное описание в Настройках

Ну а форум для чего? Что непонятно - спрашиваем, я вроде еще никого не обделил с ответом...
Я же не всегда могу вместить в пару слов в хинте или хистори смысл фичи...
 
Немного теории:
Существует несколько способов внесения изменений в БД. Один из них носит название обработка транзакций.  
Транзакция - это единичное или чаще групповое изменение БД, которое или выполняется полностью, или не выполняется вообще. Результаты выполнения транзакции записываются в БД только в том случае, если вся транзакция завершилась успешно. Таким образом, транзакция переводит БД из одного целостного состояния в другое
Начало транзакции инициируется методом StartTransaction.
После выполнения этого метода все изменения, внесенные в БД, считаются принадлежащими к текущей активной транзакции.  
Подтвердить транзакцию, т.е. санкционировать физическое запоминание сделанных изменений в БД, можно с помощью метода Commit.  
Отказаться от физического запоминания сделанных изменений в БД ("откатить" изменения), можно, выполнив метод Rollback.
Выполнение методов Commit или Rollback завершает активную транзакцию, начатую методом StartTransaction.  
 
Так вот, до версии 2.3.0 транзакция начиналась и подтверждалась после каждого скачанного тайла, а теперь можно регулировать, после какого количества скачанных тайлов вносить физические изменения в БД. И чем больше это число, тем меньше обращений к БД в период закачки. Но одновременно увеличивается и вероятность того, что группа скачанных тайлов в еще неподтвержденной транзакции может не записаться в БД (сбой в программе, электричестве, и пр.), т.е. выполнится Rollback.
Надеюсь, объяснил популярно
 

Цитата:
Получаем AV

Да, смог воспроизвести. Пофиксю.

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 11:07 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Не игрался с "настраиваемое количество вставок в БД

какие ограничения имеются?
а то поставил  в настройках 10000
сделал выделение на 5000
но через некоторое время (примерно 1500-1600 скаченых) заметил, что кэш начинает увеличиваться.
 
Добавлено:
сделал выделение на 400000
рубеж 1500-1600 скаченых прошёл нормально, оставновил на 2200, ничего во время скачивания не сбрасывалось в кэш.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 11:19 26-03-2010
netrebos

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Ты что-нибудь видишь на экране при ее возникновении?
А гамма-коррекция работает?
А на другом компе как?

 
 
У меня все работает кроме этих двух рычажков -- и закачка и отображерние картинки
Гамма коррекция работает
На домашнем компе все повторилось -- баг отослал по почте (здесь 25-й порт тоже закрыт провайдером)
 

Всего записей: 447 | Зарегистр. 19-09-2006 | Отправлено: 11:30 26-03-2010
Rodny



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus 07:10 26-03-2010
Цитата:
По типу как в настройках кэша - пойдет?

Вполне.

Всего записей: 2877 | Зарегистр. 28-07-2006 | Отправлено: 11:31 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
какие ограничения имеются?

Да вот и хотелось бы это выяснить
Я сам не могу такие объемы прокачивать... Потому и спрашиваю насчет тестов...

Цитата:
рубеж 1500-1600 скаченых прошёл нормально, оставновил на 2200, ничего во время скачивания не сбрасывалось в кэш.

Это при настройке в 10000 вставок?
 
PS Транзакция также завершается (должна) при остановке закачки, даже если количество инсертов в БД еще не достигло установленного лимита.

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 11:33 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Да вот и хотелось бы это выяснить  
Я сам не могу такие объемы прокачивать... Потому и спрашиваю насчет тестов...

уменьшил выделение до 5000, сброс начался примерно с 1800-1900 скаченных
первая область выделение 5000 и вторая 5000 отличаются местом и уровнем
 
появилась мысль:
сделал ещё выделение на 250000 (19 уровень спутник Москва)
сброс начался примерно с 1800-1900 скаченных
было скачено примерно 20-22МБ
 
сделал ещё выделение на 5000 (18 уровень спутник Москва центр города)
сброс начался примерно с 1500-1600 скаченных
было скачено примерно 26МБ
 
ничего общего нет
 

Цитата:
Это при настройке в 10000 вставок?

да

Цитата:
PS Транзакция также завершается (должна) при остановке закачки, даже если количество инсертов в БД еще не достигло установленного лимита.

это происходит
 
Добавлено:
режим скачивания был - заменять существующие

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 11:49 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
ничего общего нет

Видно, какие-то внутренние заморочки SQLite... Может надо уменьшить лимит до 1000 вставок
А попробуй с меньшими значениями, чтобы выяснить какой лимит ставить...
 
netrebos

Цитата:
баг отослал по почте

Получил. Пока не исправлю, можешь включить отображение границ тайлов, тогда AV нет.

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 11:55 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Видно, какие-то внутренние заморочки SQLite... Может надо уменьшить лимит до 1000 вставок

а это реализовано не на "уровне SatMap"?
если на уровне SQLite, может есть какие временные ограничения?
 
да, ещё момент, при этом сбросе, кэш увеличивается, а время у файла кэша не меняется.
при планом сбросе время у файла кэша менятеся
 

Цитата:
А попробуй с меньшими значениями, чтобы выяснить какой лимит ставить...

лимит 1000
сделал ещё выделение на 5000 (18 уровень спутник Москва центр города)
первая 1000 сбросилась
вторая 1000 сбросилась
третья 1000 сбросилась
остановил закачку
 
Добавлено:

Цитата:
может есть какие временные ограничения?

подобрал медленный прокси
лимит 1000  
сделал ещё выделение на 5000 (18 уровень спутник Москва центр города)
за 12мин пока первая 1000 качалась, кэш не увеличивался.
 
Добавлено:

Цитата:
а это реализовано не на "уровне SatMap"?

хм, а предельное значение-то оказывается 10000, я то его вручную вбивал, а начал увеличивать штатными средствами, получил 10000.
 
поставил лимит 9999 (может поможет)
сделал ещё выделение на 5000 (18 уровень спутник Москва центр города)
сброс начался примерно с 1500-1600 скаченных
 
лимит 9999 не помог
 
нажал на Стоп
скопировал файл кэша
"подтвердил" Стоп
скопировал файл кэша
сравнил два файла по содержимому, действительно сбрасывались тайлы во время выкачки.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 12:12 26-03-2010 | Исправлено: egor23, 12:13 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
а это реализовано не на "уровне SatMap"?

На уровне проги реализован счетчик инсертов, его инкремент после каждой вставки и проверка - упрощенно так:

Код:
  inc(FTransactionInsertCount);
  if FTransactionInsertCount >= InsertCountBeforeCommit then // достигнуто значение, при котором надо завершить транзакцию
  try { commit and begin a new transaction }
    Commit;
    StartTransaction;
    FTransactionInsertCount := 0;
  except
  { In case of errors, rollback changes and raise the error. }
    Rollback;
    raise;
  end;
 

Т.е. при InsertCountBeforeCommit = 1000 "сброс в кэш" (как ты его называешь) должен происходить каждую тысячу инсертов. И так, судя по твоим тестам, и происходит. Но вот почему при бОльшем значении InsertCountBeforeCommit (10000) сброс происходит чаще - я не знаю, грешу на SQLite? видно он сам как-то определяет этот момент.
В общем, сделаю верхний потолок регулировки в 1000, дабы не возникало в будущем вопросов...

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 13:18 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
может стоит лимит, вшитый, "отведённый под тайлы" - 30МБ?
 
Добавлено:

Цитата:
может стоит лимит, вшитый, "отведённый под тайлы" - 30МБ?

это в VMMap смотрел
там получалось примерно 24 секций по 1280кБ ~30МБ на момент начала сброса данных в кэш (с начала скачивания до начала сброса).
 
Добавлено:

Цитата:
[+] Advanced users only! Настройка режима журнала транзакций: в satmap.xml в секции <prog> добавьте параметр <JM>xxx</JM>, где 'xxx' - одно из значений: DELETE (используется по умолчанию), TRUNCATE, PERSIST, MEMORY, OFF (подробнее см. документацию по SQLite)

отсылать обычного пользователя, который никогда не имел дела с SQLite к докам это жестоко, лучше в FAQ всё эту информацию добавить.

Цитата:
В общем, сделаю верхний потолок регулировки в 1000, дабы не возникало в будущем вопросов...

лучше найти в чём проблема...

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 13:19 26-03-2010 | Исправлено: egor23, 13:32 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
может стоит лимит, вшитый, отведённый под тайлы - 30МБ?

А! Наверное понял в чем дело (размер журнала транзакций), но глубже копнуть сейчас некогда
 

Цитата:
лучше в FAQ всё эту информацию добавить.

Не уверен, что это хорошая идея. Обычному пользователю такая инфа ни к чему, а продвинутый может и форум полистать, да и в доки заглянуть - я так мыслю

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 13:32 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
[+] настраиваемое количество вставок в БД (применимо при закачке по любому выделению) перед завершением транзакции

вот эта настройка кардинально снижает нагрузку над диск.
 
Добавлено:
relictus

Цитата:
А! Наверное понял в чем дело (размер журнала транзакций), но глубже копнуть сейчас некогда

выделение 10000 гибрид
"левых сбросов не было"

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 14:19 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вот эта настройка кардинально снижает нагрузку над диск.

Да. Но надо помнить об увеличении риска потерять скачанные данные, в случае форс-мажорных обстоятельств...

Цитата:
выделение 10000 гибрид  
"левых сбросов не было"

Что только подтверждает мою догадку - размер тайла гибрида много меньше тайла спутника, и совокупный их размер видно помещается в размер журнала транзакций. В общем, куда копать ясно

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 14:27 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В общем, куда копать ясно

Хм.. рано я заявил это...
egor23
А можешь проверить как будет вести себя сброс при других значениях режима журнала: DELETE и PERSIST? Тоже будет после ~30МБ?
 
Добавлено:
egor23
И еще... если режим "не заменять", будет разница?

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 16:34 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
заменять существующие - MEMORY
не заменять - MEMORY
не заменять - DELETE
не заменять - PERSIST
 
одно и тоже
 
а лимитов на размер\под тайлы нет?
раньше было что-то - 30кБ, потом лимит как-бы убрали...

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 17:22 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
а лимитов на размер\под тайлы нет?

Нет. Да и дело тут на 95% не в проге, а в движке SQLite...
Как я выяснил, размер журнала транзакций (ну это типа временная БД, которая будет записана в основную БД при выполнении Commit) сейчас имеет неограниченную длину. Я просто не пойму, что еще заставляет сбрасывать буфер в БД при достижении им ~30 МБ размера...
А можешь на другом компе проверить, так же будет?

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 19:38 26-03-2010
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
А можешь на другом компе проверить, так же будет?

нет возможности
 
ещё посмотрел, что будет, если прибить процесс SatMap во время этого незапланированного сброса, после запуска SatMap тайлов (или данные), которые как-бы сбрасывались нету.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 20:21 26-03-2010
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
egor23

Цитата:
нет возможности

Жаль... Я тоже проверить не могу

Цитата:
после запуска SatMap тайлов (или данные), которые как-бы сбрасывались нету.

Получается, что Commit'a все же не было, хоть размер файла кэша и увеличивался? Что ж, будем считать, что это причуды SQLite и не обращать на это внимания, тем более, что есть еще чем заняться

Всего записей: 3716 | Зарегистр. 19-04-2005 | Отправлено: 20:32 26-03-2010
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

Компьютерный форум Ru.Board » Компьютеры » Программы » SatMap (2)
Widok (02-08-2010 11:58): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru