SASGIS - SAS.Планета
View Issue Details
0002422SAS.Планета[All Projects] Багpublic09-05-2014 04:3209-05-2014 11:04
Tolik 
zed 
normalmajoralways
resolvedfixed 
Windows7Ultimate
140505 
141111141111 
0002422: В режиме Интернет "моргают" тайлы при сохранении в кэш Беркли
Проблема в том, что при сохранении в кэш Беркли с перезаписью, после удаления старого тайла вызывается уведомление до сохранения нового.

Обычный ноут, HP 6560b, проц. Intel 2520M с HD Graphics 3000, Win7 32 бит.
 Кэш проверил sdb_util.exe, проблем нет.
Записал видео.
Если отключить отображение карт из предыдущих зумов, то при движении/ масштабитровании сначала отображается нормальный тайл, потом на его месте серый квадрат, потом опять тайл (видимо, свежескачанный, т.к. режим интернет). Если включить - то вместо серого квадрата увеличенный тайл с предыдущего зума.
No tags attached.
related to 0002307resolved zed В процессе закачки видимой области "моргают" тайлы 
wmv Video_2014-05-09_082151.wmv (4,774,461) 09-05-2014 04:40
https://bugtracker.sasgis.org/file_download.php?file_id=1733&type=bug
Issue History
09-05-2014 04:32TolikNew Issue
09-05-2014 04:33TolikRelationship addedrelated to 0002307
09-05-2014 04:36TolikAdditional Information Updatedbug_revision_view_page.php?rev_id=6042#r6042
09-05-2014 04:38TolikDescription Updatedbug_revision_view_page.php?rev_id=6044#r6044
09-05-2014 04:38TolikAdditional Information Updatedbug_revision_view_page.php?rev_id=6045#r6045
09-05-2014 04:40TolikFile Added: Video_2014-05-09_082151.wmv
09-05-2014 06:20zedNote Added: 0014216
09-05-2014 07:03zedNote Added: 0014217
09-05-2014 07:52TolikNote Added: 0014218
09-05-2014 08:04TolikNote Added: 0014219
09-05-2014 08:05TolikNote Edited: 0014219bug_revision_view_page.php?bugnote_id=14219#r6047
09-05-2014 08:06TolikNote Edited: 0014219bug_revision_view_page.php?bugnote_id=14219#r6048
09-05-2014 08:11TolikNote Added: 0014220
09-05-2014 09:56vdemidovNote Added: 0014221
09-05-2014 10:00TolikNote Added: 0014222
09-05-2014 10:01vdemidovNote Added: 0014223
09-05-2014 10:05vdemidovAssigned To => zed
09-05-2014 10:05vdemidovStatusnew => assigned
09-05-2014 10:09vdemidovProduct Version.Nightly => 140303
09-05-2014 10:09vdemidovTarget Version => 141111
09-05-2014 10:09vdemidovSummaryВ процессе закачки видимой области "моргают" тайлы Episode 2 => В процессе закачки видимой области "моргают" тайлы при сохранении в кэш Беркли
09-05-2014 10:09vdemidovDescription Updatedbug_revision_view_page.php?rev_id=6049#r6049
09-05-2014 10:13zedStatusassigned => resolved
09-05-2014 10:13zedFixed in Version => 141111
09-05-2014 10:13zedResolutionopen => fixed
09-05-2014 10:14zedProduct Version140303 => 140505
09-05-2014 10:14zedSummaryВ процессе закачки видимой области "моргают" тайлы при сохранении в кэш Беркли => В режиме Интернет "моргают" тайлы при сохранении в кэш Беркли
09-05-2014 10:41TolikNote Added: 0014224
09-05-2014 10:45zedNote Added: 0014225
09-05-2014 11:04vdemidovNote Added: 0014226

Notes
(0014216)
zed   
09-05-2014 06:20   
Тут нужно разобраться, действительно происходит перезакачка тайлов, с чем боролись в 0002307 или причина моргания в чём-то другом.

У себя, я к примеру замечал похожее моргание, когда включён какой-нибудь слой и происходит одновременная загрузка: сначала появляются тайлы карты, потом тайлы пропадают и появляются вновь, но уже с наложенным слоем.
(0014217)
zed   
09-05-2014 07:03   
Перечитал описание тикета ещё раз и склоняюсь к мысли, что тут не совсем баг, а скорее особенность реализации режима обновления тайлов. Раз включён режим Интернет, то все тайлы видимой области загружаются в кэш и "моргание" в данном случае обусловлено тем, что из кэша тайл вначале нужно удалить, а только потом на его место записать новый и вывести его на экран. А после каждого действия с кэшем, отображение тайлов получает уведомления, что мол, тайл удалил, а потом ещё одно - записали. И между сообщениями о том, что тайл удалили, а потом записали, могут быть очевидные временные лаги. Вот оно и моргает. Но дубли тайлов из интернета оно не качает, а моргание просто свидетельство того, что тайл обновился. Плюс, надо иметь в виду, что идёт многопоточная закачка тайлов, что ещё более усиливает эффект.

На кэше Беркли оно более заметно, т.к. там все операции с кэшем происходят медленней, чем с тайловым.
(0014218)
Tolik   
09-05-2014 07:52   
Да, всё логично. А можно сделать так, чтобы отображалка не срабатывала после удаления тайла, а только после появления нового?

У меня очень заметно даже когда включена одна карта - см. видео.

Кстати, напустил SACS на тот же самый кэш - не мыргает!
(0014219)
Tolik   
09-05-2014 08:04   
(edited on: 09-05-2014 08:06)
> Плюс, надо иметь в виду, что идёт многопоточная закачка тайлов, что ещё более усиливает эффект.

MaxConnectToServerCount=1 помогает, т.е. моргание не бесит так сильно: квадратики мелькают по одному и гораздо быстрее. А многие тайлы обновляются вообще без моргания (это хорошо видно на НЯК, кот. постоянно меняется).

(0014220)
Tolik   
09-05-2014 08:11   
В ini у меня вот что:
[ZmpDefaultParams]
MaxConnectToServerCount=4
UseMemCache=1
MemCacheCapacity=100
MemCacheTTL=60000
MemCacheClearStrategy=1

А тут имеет смысл что-нибудь подкрутить, кроме MaxConnectToServerCount?
(0014221)
vdemidov   
09-05-2014 09:56   
> тут не совсем баг, а скорее особенность реализации режима обновления тайлов.
Особенность, но не режима обновления тайлов, а реализации тайлохранилищ. Нужно просто в тайлохранилищах при сохранении тайла с перезаписью не вызывать уведомления об изменении при удалении старого тайла.
(0014222)
Tolik   
09-05-2014 10:00   
Во, точно, я именно это и просил. Сделаете?
(0014223)
vdemidov   
09-05-2014 10:01   
Кстати это именно проблема реализации тайлохранилища на беркли. В файловом кэше моргания не должно быть вообще.
(0014224)
Tolik   
09-05-2014 10:41   
Типа, уже готово?? А я год, наверно, мучался, никак не мог собраться с мыслями, чтобы сформулировать :)
Спасибо!
Когда ждать ночнушку?
(0014225)
zed   
09-05-2014 10:45   
Забирай: http://dl.bintray.com/zed/SASPlanet/SAS.Planet.Nightly.140509.8039.7z
(0014226)
vdemidov   
09-05-2014 11:04   
>А я год, наверно, мучался, никак не мог собраться с мыслями, чтобы сформулировать :)
Так это самое главное. Правильно сформулировать и описать.