| Anonymous | Login | Signup for a new account | 28-12-25 04:18 UTC | ![]() |
| All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
| My View | View Issues | Change Log | Roadmap | Search |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0002686 | SAS.Планета | [All Projects] Баг / Bug | public | 17-04-2015 19:17 | 25-12-2025 10:23 | ||||
| Reporter | zed | ||||||||
| Assigned To | zed | ||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||
| Status | resolved | Resolution | fixed | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | 160707 | ||||||||
| Target Version | 26xxxx | Fixed in Version | 26xxxx | ||||||
| Summary | 0002686: "Моргает" карта при активной закачке и изменении зума | ||||||||
| Description | Очень неприятный эффект, когда на долю секунды вся карта исчезает (вместо тайлов серое поле), а потом появляется. По такому случаю даже видео записал: https://yadi.sk/i/3OpWXXXEg4vQo (чтобы посмотреть в нормальном качестве, видео надо скачать). | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
Relationships |
||||||
|
||||||
Notes |
|
|
(0015612) vdemidov (manager) 17-04-2015 20:11 |
Странно. У меня ничего похожего не наблюдается. Нужно думать. |
|
(0020575) zed (manager) 21-12-2025 16:47 edited on: 21-12-2025 16:59 |
Обложил логами процесс отрисовки тайлов и выяснил, что при смене зума дело обстоит так: вначале текущая тайловая матрица несколько раз перерисовывается с растягиванием, потом она "соображает", что нужно взять тайлы со следующего зума, полностью очищается и начинает готовить тайлы с этого нового зума. Тут происходит новая отрисовка, и может так оказаться, что ещё не все тайлы готовы и получается частичное отображение, т.е. моргание. Придумал и реализовал следующий фикс: 1. Перед сменой зума запоминается текущая матрица тайлов (тех, что отображаются на экране в данный момент). 2. Во время зумирования выводится кэшированная матрица из п.1 и поверх неё — новая матрица с динамически подгружаемыми тайлами. 3. Когда зумирование завершается, матрица из п.1 продолжает использоваться некоторое время, пока новая матрица не завершит своё обновление, либо пока пользователь не сдвинет карту или не сменит зум. На последнем этапе возникает трудность: приходится угадывать, когда обновление матрицы завершено, так как никакой нотификации для этого не предусмотрено. В итоге могут быть случаи, когда кэшированная матрица всё же устаревает, а обновлённая ещё не до конца готова. И тогда временные тайлы исчезают, и карта частично очищается. Получается не идеально, но уже, в общем-то, терпимо. |
|
(0020577) zed (manager) 25-12-2025 10:22 |
Починил. Добавил нотифаер для детектирования окончания обновления матрицы и нашёл ещё одну причину мерцания из-за таймера перерисовки. Иногда он срабатывал в неудачное время, когда основная матрица вообще была равна nil и просто выключал слой. Теперь, пока жива кэшированная матрица он так делать не будет. |
Users who viewed this issue |
|
| User List | Anonymous (3084x), ingener (3x), zed (13x), qq117511 (1x), vdemidov (12x), VMatveev (1x), ANDREE64 (1x), Parasite (1x) |
| Total Views | 3116 |
| Last View | 28-12-2025 04:18 |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 17-04-2015 19:17 | zed | New Issue | |
| 17-04-2015 20:11 | vdemidov | Note Added: 0015612 | |
| 02-08-2016 10:16 | vdemidov | Product Version | .Nightly => 160707 |
| 27-03-2019 10:23 | vdemidov | Status | new => confirmed |
| 27-03-2019 10:23 | vdemidov | Target Version | => 44xxxx |
| 08-08-2025 13:22 | zed | Category | Баг => Баг / Bug |
| 10-12-2025 07:54 | zed | Relationship added | has duplicate 0003923 |
| 21-12-2025 16:47 | zed | Note Added: 0020575 | |
| 21-12-2025 16:56 | zed | Note Edited: 0020575 | View Revisions |
| 21-12-2025 16:59 | zed | Note Edited: 0020575 | View Revisions |
| 25-12-2025 10:22 | zed | Note Added: 0020577 | |
| 25-12-2025 10:23 | zed | Status | confirmed => resolved |
| 25-12-2025 10:23 | zed | Fixed in Version | => 26xxxx |
| 25-12-2025 10:23 | zed | Resolution | open => fixed |
| 25-12-2025 10:23 | zed | Assigned To | => zed |
| 25-12-2025 10:23 | zed | Target Version | 44xxxx => 26xxxx |
| My View | View Issues | Change Log | Roadmap | Search |
| Copyright © 2007 - 2025 SAS.Planet Team |