Отставание прорисовки при работе с GPS

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Ответить
sergbrother
Новичок
Сообщения: 24
Зарегистрирован: 13 май 2012, 08:57

Отставание прорисовки при работе с GPS

Сообщение sergbrother »

Добрый день.
SAS планета версия типа от 260412.

После успешного подключения к Garmin GPS USB приемнику 18x (видно несколько спутников, правильно определяются координаты и скорость) при попытке заставить SAS отслеживать перемещение по картам (любым, везде ведет себя одинаково) наблюдается следующая картина:
1. Сразу после начала движения машины в окне параметров передвижения показываются правильные текущие данные о скорости и правильно устанавливается текущее положение, показываются правильные снимки.
2. Далее при перемещении машины со скоростью около 60 км в час или более перемещение по снимкам начиает медленно, но верно отставать от действительности.
3. Если остановить машину, движение по карте не останавливается, пытаясь догнать действительность.
4. Если выключить и снова включить GPS, текущая позиция устанавливается правильно. Так и делаю с определенной периодичностью - это как-то решает проблему.

Возникает ощущение, что у SAS создается очередь из полученных координат, которые он не успевает отображать.
В чем может быть проблема?

Масштаб типа 18. Используется только кеш. Переключение между спутниками (Goggle и Yandex) при этом происходит мгновенно.
Слабый ноутбук Panasonic CF-29
Windows XP
Pentium M 1.6 GHz
1.5 RAM
правда диск с картами SSD 250 Гбайт из последних.
Буду признателен за любую информацию.
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

Re: Отставание прорисовки при работе с GPS

Сообщение Papazol »

Если такой эффект наблюдается только при использовании Гарминовского приёмника, это одно, и с этим следует обратиться в багтрекер. Если то же самое будет наблюдаться и при подключении обычного NMEA приёмника, то это проблема оборудования, а не программы, так как с обычными приёмниками она проверялась немеряное количество раз. Если нет возможности позаимствовать у кого-нибудь приёмник, можно воспользоваться симулятором NMEA из GPSGate.
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Отставание прорисовки при работе с GPS

Сообщение DJ VK »

sergbrother писал(а):Возникает ощущение, что у SAS создается очередь из полученных координат, которые он не успевает отображать.

Надо обрабатывать изменение координат аналогично обработчику мыши, если в очереди (защищенной крит. секцией) уже есть задание на обработку (сдвиг на сколько то пикселей), надо подменить это задание с учетом вновь полученных данных. То есть не три раза плюс 1, а один раз плюс 3. Тогда обработчик всегда будет пытаться точно догнать истинное положение , имея фиксированное отставание на отрисовку.
Аватара пользователя
garl
Гуру
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз
Поблагодарили: 272 раза

Re: Отставание прорисовки при работе с GPS

Сообщение garl »

где то я такое уже видел.
будут жалобы аля:
ехал быстро, резко остановился, а курсор некоторое время движется.
я повернул под углом 90 градусов, а трек плавно.
Russian NDN Team
QIP NightlyTester
sergbrother
Новичок
Сообщения: 24
Зарегистрирован: 13 май 2012, 08:57

Re: Отставание прорисовки при работе с GPS

Сообщение sergbrother »

Моя главная мысль - начинает отставать, отставание НАРАСТАЕТ в геометрической прогрессии (после отставания приблизительно в километр, я понял, что мне такая навигация не подходит...)
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

Re: Отставание прорисовки при работе с GPS

Сообщение Papazol »

И всё же, это только при Гарминовском приёмнике или при любом? Раньше такого не наблюдалось.
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: Отставание прорисовки при работе с GPS

Сообщение vdemidov »

В первую очередь нужно проверять с другим софтом этот же приемник. Что бы определить баг в САС.Планете или в дровах устройства.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
sergbrother
Новичок
Сообщения: 24
Зарегистрирован: 13 май 2012, 08:57

Re: Отставание прорисовки при работе с GPS

Сообщение sergbrother »

Сегодня проверил с USB навигатором Garmin 478. Все в порядке, работает по Москве без каких-либо оставаний на скорости до 100 км в час (больше не пробывал).
Видимо тема в USB Garmin 18x.
CreatorCray
Новичок
Сообщения: 2
Зарегистрирован: 09 сен 2012, 13:22

Re: Отставание прорисовки при работе с GPS

Сообщение CreatorCray »

Такое же поведение наблюдалось с Garmin GPS20x
В SASPlanet трек уверенно отставал.
При этом Garmin Mobile PC показывал правильно.
Несколько улучшить ситуацию получилось уменьшив refresh rate до 100 мс. При этом визуально скорость появления новых точек заметно не изменилась. Если и стало быстрее то точно не в 10 раз (менял 1000ms -> 100 ms)
Действительно похоже на какой то затык в flow обработки координат, поступающих с Garmin USB.
Жаль что код на дельфи, так бы сам залез и попытался бы подебажить и прислать патч.

Кстати скорость от этого GPS показывает какую то нереальную. Где то в районе 10**18.
От eTrex - нормальную.
vasketsov
Специалист
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Поблагодарили: 193 раза

Re: Отставание прорисовки при работе с GPS

Сообщение vasketsov »

CreatorCray писал(а):Если и стало быстрее то точно не в 10 раз (менял 1000ms -> 100 ms)
А как бы и не должно было стать быстрее в 10 раз ))))))).
Приёмник выплёвывает данные раз в секунду.
Указанный параметр фактически означает время реакции на это "выплёвывание".
DJ VK писал(а):То есть не три раза плюс 1, а один раз плюс 3
Что-то типа того. Новые координаты (и данные вообще) от приёмника попадают в буфер, в отдельном потоке, независимо ни от чего, и уж тем более всяких рисований.
Если по какой-либо причине отрисовка замедлится, то это приведёт к тому, что "читалка" координат вычитает сразу всю "пачку" за несколько циклов работы (несколько секунд), так как она тащит из буфера данные, покуда они там есть, то есть все до конца.
Ответить

Вернуться в «SAS.Планета»