Добрый день.
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 Гбайт из последних.
Буду признателен за любую информацию.
Отставание прорисовки при работе с GPS
Модератор: Tolik
-
sergbrother
- Новичок
- Сообщения: 24
- Зарегистрирован: 13 май 2012, 08:57
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Отставание прорисовки при работе с GPS
Если такой эффект наблюдается только при использовании Гарминовского приёмника, это одно, и с этим следует обратиться в багтрекер. Если то же самое будет наблюдаться и при подключении обычного NMEA приёмника, то это проблема оборудования, а не программы, так как с обычными приёмниками она проверялась немеряное количество раз. Если нет возможности позаимствовать у кого-нибудь приёмник, можно воспользоваться симулятором NMEA из GPSGate.
- DJ VK
- Гуру
- Сообщения: 1468
- Зарегистрирован: 16 апр 2009, 13:57
- Откуда: 8 км. от МКАД
- Благодарил (а): 80 раз
- Поблагодарили: 314 раз
Re: Отставание прорисовки при работе с GPS
Надо обрабатывать изменение координат аналогично обработчику мыши, если в очереди (защищенной крит. секцией) уже есть задание на обработку (сдвиг на сколько то пикселей), надо подменить это задание с учетом вновь полученных данных. То есть не три раза плюс 1, а один раз плюс 3. Тогда обработчик всегда будет пытаться точно догнать истинное положение , имея фиксированное отставание на отрисовку.sergbrother писал(а):Возникает ощущение, что у SAS создается очередь из полученных координат, которые он не успевает отображать.
- garl
- Гуру
- Сообщения: 1625
- Зарегистрирован: 16 июл 2008, 14:40
- Откуда: Краснодар, Кубанская столица.
- Благодарил (а): 97 раз
- Поблагодарили: 272 раза
Re: Отставание прорисовки при работе с GPS
где то я такое уже видел.
будут жалобы аля:
ехал быстро, резко остановился, а курсор некоторое время движется.
я повернул под углом 90 градусов, а трек плавно.
будут жалобы аля:
ехал быстро, резко остановился, а курсор некоторое время движется.
я повернул под углом 90 градусов, а трек плавно.
-
sergbrother
- Новичок
- Сообщения: 24
- Зарегистрирован: 13 май 2012, 08:57
Re: Отставание прорисовки при работе с GPS
Моя главная мысль - начинает отставать, отставание НАРАСТАЕТ в геометрической прогрессии (после отставания приблизительно в километр, я понял, что мне такая навигация не подходит...)
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Отставание прорисовки при работе с GPS
И всё же, это только при Гарминовском приёмнике или при любом? Раньше такого не наблюдалось.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Отставание прорисовки при работе с GPS
В первую очередь нужно проверять с другим софтом этот же приемник. Что бы определить баг в САС.Планете или в дровах устройства.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
sergbrother
- Новичок
- Сообщения: 24
- Зарегистрирован: 13 май 2012, 08:57
Re: Отставание прорисовки при работе с GPS
Сегодня проверил с USB навигатором Garmin 478. Все в порядке, работает по Москве без каких-либо оставаний на скорости до 100 км в час (больше не пробывал).
Видимо тема в USB Garmin 18x.
Видимо тема в USB Garmin 18x.
-
CreatorCray
- Новичок
- Сообщения: 2
- Зарегистрирован: 09 сен 2012, 13:22
Re: Отставание прорисовки при работе с GPS
Такое же поведение наблюдалось с Garmin GPS20x
В SASPlanet трек уверенно отставал.
При этом Garmin Mobile PC показывал правильно.
Несколько улучшить ситуацию получилось уменьшив refresh rate до 100 мс. При этом визуально скорость появления новых точек заметно не изменилась. Если и стало быстрее то точно не в 10 раз (менял 1000ms -> 100 ms)
Действительно похоже на какой то затык в flow обработки координат, поступающих с Garmin USB.
Жаль что код на дельфи, так бы сам залез и попытался бы подебажить и прислать патч.
Кстати скорость от этого GPS показывает какую то нереальную. Где то в районе 10**18.
От eTrex - нормальную.
В SASPlanet трек уверенно отставал.
При этом Garmin Mobile PC показывал правильно.
Несколько улучшить ситуацию получилось уменьшив refresh rate до 100 мс. При этом визуально скорость появления новых точек заметно не изменилась. Если и стало быстрее то точно не в 10 раз (менял 1000ms -> 100 ms)
Действительно похоже на какой то затык в flow обработки координат, поступающих с Garmin USB.
Жаль что код на дельфи, так бы сам залез и попытался бы подебажить и прислать патч.
Кстати скорость от этого GPS показывает какую то нереальную. Где то в районе 10**18.
От eTrex - нормальную.
Re: Отставание прорисовки при работе с GPS
А как бы и не должно было стать быстрее в 10 раз ))))))).CreatorCray писал(а):Если и стало быстрее то точно не в 10 раз (менял 1000ms -> 100 ms)
Приёмник выплёвывает данные раз в секунду.
Указанный параметр фактически означает время реакции на это "выплёвывание".
Что-то типа того. Новые координаты (и данные вообще) от приёмника попадают в буфер, в отдельном потоке, независимо ни от чего, и уж тем более всяких рисований.DJ VK писал(а):То есть не три раза плюс 1, а один раз плюс 3
Если по какой-либо причине отрисовка замедлится, то это приведёт к тому, что "читалка" координат вычитает сразу всю "пачку" за несколько циклов работы (несколько секунд), так как она тащит из буфера данные, покуда они там есть, то есть все до конца.