Ru-Board.club
← Вернуться в раздел «Программы»

» SatMap (2)

Автор: egor23
Дата сообщения: 10.02.2010 11:42
relictus

Цитата:
Вроде логично, вдеь SatMap имеет несколько thread'ов, которым тоже нужно процессорное время, особенно при загрузке и операциях с кэшем.

если ПО виснет, то это не логично

Цитата:
Кстати, в 2.2.3 я самую малость изменил код ожидания, проверь, есть ли изменения в лучшую сторону

стало лучше, не подвисает, а вот загрузка тайлов идёт медленно (при CPU load 100%)

возможно проблема в низком приоритете thread SatMap - стоит 1 (Idle)?
или типа того

Добавлено:

Цитата:
Кстати, в 2.2.3 я самую малость изменил код ожидания, проверь, есть ли изменения в лучшую сторону

поперемещались по карте, даже не очень быстро
и при закрытии бесконечный Access violation

Access violation at address 0077EEA2 in module 'SatMapGPS.exe'. Read of address 00000000.

Добавлено:

Цитата:
возможно проблема в низком приоритете thread SatMap - стоит 1 (Idle)?

поднял приоритет thread SatMap до Нормального, пошла номально загрузка.

как-то получается не очень, приоритет процессу SatMap меняем, а на приоритете thread SatMap, это никак не сказывается.
Автор: relictus
Дата сообщения: 10.02.2010 12:37
DCT

Цитата:
при условии осмысленной скачки

+1

egor23

Цитата:
если ПО виснет, то это не логично

А по-моему, логично
Если декодинг видео занимает 100% CPU, где ж тут еще чему шевелиться?


Цитата:
возможно проблема в низком приоритете thread SatMap - стоит 1 (Idle)?


Цитата:
поднял приоритет thread SatMap до Нормального

Эээ... ничего не путаешь? Idle может быть только при простое проги, т.к. когда ничего не происходит. А так все трэды в проге запускаются с приоритетом = Normal.
Автор: egor23
Дата сообщения: 10.02.2010 12:48
relictus

Цитата:
сли декодинг видео занимает 100% CPU, где ж тут еще чему шевелиться?

приоритет процесса низкий
а приоритет процесса SatMap нормальный - соответственно не логично

Цитата:
Эээ... ничего не путаешь? Idle может быть только при простое проги, т.к. когда ничего не происходит. А так все трэды в проге запускаются с приоритетом = Normal.

тред SatMap запускается с приоритетом 1, смотрите Process Explorer



Добавлено:

Цитата:
тред SatMap запускается с приоритетом 1, смотрите Process Explorer

и приоритет не меняется, ни явно (изменяя приоритет процесса, не меняется), ни от выполняемых действий - выделил область запустил на скачивание, так и остался - 1

Добавлено:
В более наглядном виде (но не очень точном) приоритеты тредов видно в:
Process Hacker
Yet Another Process Monitor (YAPM)

Добавлено:

Цитата:
тред SatMap запускается с приоритетом 1

тянется сие с 01.02.2010 satmap_v2.2.2_exe.7z
Автор: relictus
Дата сообщения: 10.02.2010 13:59
egor23

Цитата:
тред SatMap запускается с приоритетом 1

Немножко не так
Главный трэд (VCL) процесса SatMapGPS.exe всегда запускается с приоритетом Normal. А вот фоновый трэд, в котором происходит закачка тайлов в режимах с инетом, работает с приоритетом Idle, поскольку закачка есть не всегда, а гонять цикл сообщений в более высоком приоритете нет смысла. Мда...
В целях эксперимента поднял приоритет worker'a (это рабочая лошадка по закачке в фоне, далее будем так называть этот трэд) до Normal. Пытай: v2.2.3a!
Автор: errmac
Дата сообщения: 10.02.2010 14:04
relictus
DCT

Цитата:
Зачем же было качать 17-й гибрид на всю территорию? На поля-леса разумно хватает 13(14)-го уровня гибрида, на котором пустых тайлов от силы 10-15% (обычно <<10%).
ИМХО проблема дубликатов тайлов сильно преувеличена, при условии осмысленной скачки содержащих информацию слоев.

Ребят, а кто вам сказал, что именно ваш вариант разумный а не мой? Если есть кеш 17 уровня то это значит что там есть информация. Дороги, улици, территории обозначеный. SATMap элементарно не умеет в отличае от планеты взять кусок с уровня выше если нет на этом уровне чтоб простоп прочитать название места не говоря уже о том, что на этом масштабе есть куча информации о местах, которые не обозначены на 16, 15 и более верхних уровнях. Я еще раз повторю, что если нужно просто посмотреть в общем на место, то можно купить большую карту всей страны и не париться вообще ни с каким софтом. А софт этот он как раз и начинает быть реально интересным и нужным на уровнях 15-18, где можно реально увидеть то, чего нет в других источниках. Но сидеть выкалупывать нужную информацию руками вместо обработки ее на автомате... Тогда смысл программы теряется. Все плюсы зранения кеша в базе. А в такой ситуации как сейчас реально проще наваять за пол часа софтину, которая из кеша планеты снесет весь гибрид нулевого размера и отищет растянутые тайлы спутника и тоже их снесет. Только SATMap даже с таким почищеным кешем работать не сможет т.к. не умеет растягивать сам с верхних уровней тайлы. И вернеться все назад к планете и файловому контейнеру с кешем который будет иметь тоже качество и вполне разумный размер. Либо по варианту ZergAnaliZer использовать безразмерные ECW целиком в другом софте.

relictus

Цитата:
У меня сейчас в работе коммерческий проект на основе SatMap

Если там реализованы "хотелки", то можно в личку ссылку на этот проект?
Автор: egor23
Дата сообщения: 10.02.2010 14:15
relictus

Цитата:
Главный трэд (VCL) процесса SatMapGPS.exe всегда запускается с приоритетом Normal

мои познания ограничены в этой сфере...

Цитата:
целях эксперимента поднял приоритет worker'a (это рабочая лошадка по закачке в фоне, далее будем так называть этот трэд) до Normal. Пытай: v2.2.3a!

стало всё нормально, как и было раньше.
Вы не только подняли его до Normal, но и вернулась зависимость его приоритета от приоритета процесса.
Автор: relictus
Дата сообщения: 10.02.2010 14:27
errmac

Цитата:
Если там реализованы "хотелки", то можно в личку ссылку на этот проект?

Нет, там реализуются хотелки другого плана, весьма специфические...

egor23

Цитата:
мои познания ограничены в этой сфере...

Не скромничай, я смотрю за время нашего общения сфера неплохо расширилась

Цитата:
стало всё нормально, как и было раньше.

Насколько раньше? Принципиально новый код по закачке в фоне был введен с версии 2.2.0 (с целью победить баг при скролле/зуме).
Стало нормально на медленном интернете? А как на быстром? Как нагрузка на проц? Потестируй еще...
Кстати, в
Цитата:
выделил область запустил на скачивание
работает совсем другой механизм, не worker! Там загрузка идет в основном потоке, не в фоновом...
Автор: parasss
Дата сообщения: 10.02.2010 14:59
Господа, есть ли какое-нибудь решение, проксифицирующее и ставящее в очередь МНОЖЕСТВЕННЫЕ R\W запросы к ОДНОЙ базе SQLite?

Нужно для организации ПРОЗРАЧНЫХ мульти-подключений клиентов на базе одного файла с кэшем. Копировать по отдельной копии для каждого клиента - сильно жирно по занимаемому месту (база много-десятко-гигабайтная уже, клиентов же - несколько сотен).
Автор: relictus
Дата сообщения: 10.02.2010 15:09
parasss

Цитата:
Господа, есть ли какое-нибудь решение, проксифицирующее и ставящее в очередь МНОЖЕСТВЕННЫЕ R\W запросы к ОДНОЙ базе SQLite?

Это врядли. Тебе не здесь надо спрашивать, а где-то в среде разработчиков движка
Автор: relictus
Дата сообщения: 10.02.2010 18:21
Есть тут спецы по геодезии? Какова площадь одного квадратного градуса, в кв.км? По моим расчетам вышло 8815.52 кв.км. Это так?
Автор: tumber
Дата сообщения: 10.02.2010 19:00
relictus

Цитата:
Какова площадь одного квадратного градуса, в кв.км?

Зависит от широты. Уменьшается от экватора к полюсам. Здесь можно посмотреть формулу расчета, и скачать программку для вычисления:
http://www.sfgeodesy.net.ru/doc-rus/2/3
Автор: DCT
Дата сообщения: 10.02.2010 22:00
errmac
Цитата:
Если есть кеш 17 уровня то это значит что там есть информация.
Ваш пример содержит всего 7% тайлов с информацией. Вопрос - с какой информацией?

Цитата:
на этом масштабе есть куча информации о местах, которые не обозначены на 16, 15
За приделами города это, как правило, неверно. После 13(14)-го уровня новая информация не появляется - т.е. мы видим только те объекты, которые уже были на 13(14) уровне. В городах это не так, но там не будет 93% пустых тайлов (поэтому город лучше скачивать отдельно).
Автор: errmac
Дата сообщения: 11.02.2010 02:12
DCT

Цитата:
Ваш пример содержит всего 7% тайлов с информацией. Вопрос - с какой информацией?

Какую информацию содержит гибрид? Видимо всетаки дороги, названия... Или как по вашему?

Цитата:
За приделами города это, как правило, неверно. После 13(14)-го уровня новая информация не появляется - т.е. мы видим только те объекты, которые уже были на 13(14) уровне.

Возможно смотрим мы с вами на разные местности. В тайге где нибудь или в пустые возможно так и есть, а в поволже за пределами города информация есть и после 13(14) уровня. И даже на 18-19 есть новая информация. Я об этом писал в своих постах ранее и не только я кстати. И о необходимости проверки растягиваний на разных уровнях я по этому и писал, софт не умеет этого делать и если как то не этим софтом выбрать самому лишнее, то софт не сможе даже растянуть с верхнего уровня недостающий тайл если понадобиться.

Цитата:
поэтому город лучше скачивать отдельно

такое ощущение, что за пределами города жизни нет и между городами пустыня ))))
Автор: ZergAnaliZer
Дата сообщения: 11.02.2010 08:21
errmac

Я потому и предлагаю собирать портянки, где недостающие данные берутся из других уровней, чтобы черные (в мапбилдере - желтые) места вырезать в GM и подкачивать заплатку из других уровней/источников. А лучше, чтобы прога это слияние данных из разных уровней делала сама, как это мы видим при просмотре карт в браузере. И чтобы сборка в один файл давала такой же визуальный результат.

relictus

Смысл последнего предложения не в создании многослойного ECW, где слои будут эквивалентны уровням в кэше, я о "слиянии" данных из разных слоев в один "плоский" файл, можно и jpeg, но у него ограничение 65килопикселей. Это подобно слоям в фотошопе, которые потом надо слить воедино, только позади более детальных слоев лежат менее детальные, а пустые тайлы не качаются, вместо них просто дырки, где позади прога будет подбирать, выкачивать и класть тайлы с менее детального (или заказанного мной) уровня. Я ведь знаю, что если нет 18-19-го, то следующий нерастянутый - 14-й. Поэтому могу попросить (если сделаете) прогу вылить весь 19-й, а чего не найдется в области - качать прямо с 14-го (зачем качать лишние 15-18-й?). Если и после этого дырочки будут (маловероятно), то их легко в GM залатать после.

Даже если сложно соединить все вместе, сделайте хотя бы, чтобы при описаном задании прога формировала "объединенных" 2 файла ecw, по одному для выбранного мною слоя. Тогда дав проге такое задание (и задав формат и куда) поутру я получу 2 файла: все, что нашлось 19-го уровня с черными дырками-пустотами (потом можно подумать про альфа-канал в ECW) и почти весь черный файл 14-го уровня с квадратами (или что там выйдет) на местах, где не нашлось тайлов 19-го уровня. Я загоню оба файла в GM, скажу черный сделать прозрачным для 19-го уровня и под него вставлю "заплатку" 14-го. Поскольку это ecw, все будет быстро. Если еще будут черные места (нет ни 14-го, ни 19-го), я поищу чем это залить и задам еще заплатку. Все эти дела сохранятся в GMW со всеми настройками, а после - преобразование в UTM WGS и кодинг в ECW или во что угодно. При обновлениях - залатывать аналогично.

Кстати, залатывать необязательно данными из Google, можно в некоторых случаях Яндекс или что еще. Я так собрал нужный мне кусок из Гугла + Яндекс там, где у Гугла не было покрытия в 19-м.
Автор: relictus
Дата сообщения: 11.02.2010 08:28
tumber
Спасибо за наводку! По расчетам этой проги площадь того градусного квадрата, что я рассчитал как 8815.52, равна 8837.66. Разница незначительна и, видимо, взялась из того, что я считал площадь на сфере по намного более простой формуле

Добавлено:
ZergAnaliZer

Цитата:
Даже если сложно соединить все вместе, сделайте хотя бы...

Как найду свободное время...
Автор: egor23
Дата сообщения: 11.02.2010 09:07
relictus

Цитата:
Насколько раньше?

это касалось Приоритета

Цитата:
Стало нормально на медленном интернете? А как на быстром?

визуально работают одинакова (скорость загрузки), когда говорил, что Инет+кэш вроде быстрее стал работать - это мне показалось (или всплыли в памяти старые воспоминания).

Цитата:
Как нагрузка на проц? Потестируй еще...

отличий вроде нет (при визуальном наблюдении)

Цитата:
работает совсем другой механизм, не worker! Там загрузка идет в основном потоке, не в фоновом...

глянул, так и работает
Автор: relictus
Дата сообщения: 11.02.2010 09:20
egor23
Все таки меня смущает работу фонового трэда в приоритете Normal. Вот в этом билде
v2.2.3b я понизил его на уровень, т.е. он теперь Below Normal. Не потестишь, может и этого будет достаточно?
Автор: egor23
Дата сообщения: 11.02.2010 09:35
relictus

Цитата:
Все таки меня смущает работу фонового трэда в приоритете Normal. Вот в этом билде
v2.2.3b я понизил его на уровень, т.е. он теперь Below Normal. Не потестишь, может и этого будет достаточно?

протестировал, но результаты были заранее известны (cpu load 100%)
при разных приоритетах у процессов (у SatMap выше) загрузка Инет+кэш идёт на полной скорости.
но уже при одинаковом приоритете у процессов загрузка Инет+кэш идёт медленно.
Автор: relictus
Дата сообщения: 11.02.2010 09:48
egor23
Так что, оставить Normal?
Автор: egor23
Дата сообщения: 11.02.2010 10:00
relictus

Цитата:
Так что, оставить Normal?

я описал негативные последствия, а там смотрите сами
кстати Access violation ни куда не делся - был и с приоритетом 1, и с 8, и с 7.
http://forum.ru-board.com/topic.cgi?forum=5&topic=30026&start=1380#2
Автор: relictus
Дата сообщения: 11.02.2010 10:04
egor23
Что-то я уже запутался... негативные последствия при Normal? Или Idle? В общем, какой приоритет поставить worker'у по твоему мнению?
Этот Access violation появился только в 2.2.3? В 2.2.2j его не было?
Автор: egor23
Дата сообщения: 11.02.2010 10:22
relictus

Цитата:
Что-то я уже запутался... негативные последствия при Normal? Или Idle?

при пониженном приоритете

Цитата:
Этот Access violation появился только в 2.2.3? В 2.2.2j его не было?

2.2.3, появился Access violation, но нет подтормаживаний\подвисаний.
2.2.2j - Access violation не было, но есть подтормаживания\подвисания, хорошо заметны на "медленном инете", "медленный инет" можно сделать используя медленный прокси.
Автор: relictus
Дата сообщения: 11.02.2010 10:40
egor23
Хорошо, попробуй это:
v2.2.3c
Вернул worker'у приоритет Normal, а также код из 2.2.2j при котором не было AV.
Автор: egor23
Дата сообщения: 11.02.2010 11:06
relictus

Цитата:
Хорошо, попробуй это:
v2.2.3c
Вернул worker'у приоритет Normal, а также код из 2.2.2j при котором не было AV.

подтормаживания\подвисания, хорошо заметны на "медленном инете"

сейчас заметил, запуск SatMap идёт тормознуто, окно появляется но не всё прорисовано, через некоторое время всё прорисовывается (кэш пустой) у 2.2.2j и 2.2.3\2.2.3a\2.2.3b так не было.
Автор: relictus
Дата сообщения: 11.02.2010 12:11
egor23

Цитата:
подтормаживания\подвисания, хорошо заметны на "медленном инете"

Т.е. так же, как 2.2.2j?
Но AV нет?

Цитата:
сейчас заметил, запуск SatMap идёт тормознуто, окно появляется но не всё прорисовано

Хм.. запускал и с пустым кэшем, и с 2-гиговым - нет тормозов. Не может у тебя в системе что тормозить запуск SatMap?

Добавлено:
@All:
Есть еще желащие помочь развитию проги не только хотелками, но и реальным
тестированием? То, что делает egor23, очень замечательно, но нужны независимые испытания - чем больше их будет, тем легче понять и разрешить проблему...


Добавлено:
egor23
v2.2.3d - немного переписал код, могущий вызывать
Цитата:
подтормаживания\подвисания
Автор: netrebos
Дата сообщения: 11.02.2010 16:07
relictus

Цитата:
@All:
Есть еще желащие

Я, честно говоря, не очень понимаю, что вы с egor23 делите

v2.2.3d работает чуть пошустрее чем 2.2.2j. Но медленности 2.2.2j не вызывают желания разможить комп об стену. На v2.2.3d удалось получить AV -- но это был изрядный спринт по уровням и влево\вправо в режиме интерент, при молниеносном же попытке закрыть программу. На 2.2.2j не удалось поторить AV. В обычном использовании я такие фортили не буду воспроизводить. На первый взгляд, загрузка ЦП в обоих случаях одинаково сильно валотильна, но опять же не критична и к зависанию не приводит -- подскакивает до 93% и падает до 4%. Из прочитанного кажется, что вы говорите о чем-то очень субъективном.





Добавлено:
relictus
З.Ы.
Хотя совсем недавно я сам нарвался на сугубо субъективный баг, про который пришлось снимать кино. Никто другой на мой баг не жаловался. Может договориться о каком-нибудь способе тотального фиксирования всех параметров системы и их изменений.
Автор: parasss
Дата сообщения: 11.02.2010 17:29

Цитата:
Есть еще желащие помочь развитию проги не только хотелками, но и реальным
тестированием?

+1, только обьясни чего КОНКРЕТНО нужно тестить (личные хотелки не в счет).
Тормоза потестить не могу - 8и-головый Хеон + 28 Гиг рамы, солярка, WINE.


Цитата:
договориться о каком-нибудь способе тотального фиксирования всех параметров системы и их изменений

Лог-файл со всем нужным (разработчику), включаемый из коммандлайна например


Баг:
последняя версия (с шапки):
1. Запуск скачки по выделению. Скачка пошла.
2. параллельно со скачкой - на панели выключаем режим выделения. Скачка идет, рамка выделения пропала.
3. Пробуем изменить зум например (скачка идет, режим - только кэш) и\или потаскать карту
4. = AV
Автор: relictus
Дата сообщения: 11.02.2010 18:41
Про тестинг. Проблема в изничтожении AV при активном скролле/зуме в режимах инет/инет+кэш, т.е. когда прыгаете по уровням слоям одновременно с закачкой тайлов (закачка НЕ по выделению!). В разных билдах версий 2.2.2+ с буковкой код немного модифицировался, с целью выяснить:
1) возникновение AV (ошибки типа access violation) при скролле/зуме, выходе из проги
2) загрузку процессора и "подвисание" проги при сдвиге скачивающейся картинки или смене уровня
3) всё это как при скоростном канале инета (от 2 мегабит), так и при медленном ( < 2 Мбит)
Какой из билдов ведет себя наиболее стабильно?
Я, правда, уже поприбивал линки на закачку билдов < 2.2.3c , но может у кого они остались? Выложить бы их все кучей...
Автор: parasss
Дата сообщения: 11.02.2010 18:52

Цитата:
возникновение AV (ошибки типа access violation) при скролле/зуме, выходе из проги

При плотном юзании+быстром инете - соотношение AV к приятной работе примерно 70\30.
Автор: relictus
Дата сообщения: 11.02.2010 19:27
parasss

Цитата:
При плотном юзании+быстром инете - соотношение AV к приятной работе примерно 70\30.

УТОЧНЯЙТЕ, про какой билд идет речь!

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: BitTorrent/BitComet/Azureus/BitTornado и др. / сеть и клиент


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.