View Issue Details

IDProjectCategoryView StatusLast Update
0003023SAS.ПланетаРефакторинг / Refactoringpublic05-05-2016 16:46
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version151111 
Target Version160606Fixed in Version160606 
Summary0003023: Оптимизировать процесс запуска закачки из сохранённой сессии (*.sls)
DescriptionСейчас есть две нехорошие вещи, которые нужно исправить:

1. Код записи и чтения файла сессии живёт в двух различных модулях. Чтение производится в u_ProviderTilesDownload, а запись в u_RegionProcessProgressInfoDownload. Нужно код из первого модуля перенести во второй и добавить там метод LoadState, по аналогии с существующим SaveState.

2. В методе рабочего потока закачки TThreadDownloadTiles.SkipTiles производится лишняя итерация при старте, до точки сохранения из sls. Сейчас эта итерация необходима только для того, чтобы в прогресс записать количество обработанных в прошлой сессии тайлов. И это странно, поскольку в sls мы сохраняем это число (в поле Processed), но никак не читаем и не инициализируем прогресс. Иногда такая итерация может занимать сильно много времени, поэтому нужно брать это значение из sls, а итератор руками устанавливать в нужную позицию.
TagsNo tags attached.

Activities

zed

03-05-2016 14:03

manager   ~0017192

Первый пункт сделал. Правда, решил для сессии завести отдельный интерфейс и уже там сохранять/загружать всё необходимое.

zed

05-05-2016 16:44

manager   ~0017194

Оптимизировал. Но в sls пришлось добавить один новый параметр "ProcessedFromLastSuccessfulPoint" в котором сохраняется число тайлов на которое отстаёт последняя удачная позиция (последний удачно загруженный тайл) от текущей и используется для "отмотки" счётчика текущей позиции при старте из sls.

Соответственно, если в новой версии SAS открыть старый sls без этого параметра, то счётчик не отмотается и может показаться, что по завершению загрузки обработано более 100% тайлов. Влияет только на отображение статистики в гуе.

zed

05-05-2016 16:46

manager   ~0017195

Да, это актуально, только если в настройках, на вкладке Интернет, стоит галка "Начать сохранённую сессию загрузки с последнего удачно загруженного тайла".

Issue History

Date Modified Username Field Change
03-05-2016 10:15 zed New Issue
03-05-2016 10:15 zed Status new => assigned
03-05-2016 10:15 zed Assigned To => zed
03-05-2016 14:03 zed Note Added: 0017192
05-05-2016 16:44 zed Note Added: 0017194
05-05-2016 16:46 zed Note Added: 0017195
05-05-2016 16:46 zed Status assigned => resolved
05-05-2016 16:46 zed Fixed in Version => 160606
05-05-2016 16:46 zed Resolution open => fixed
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring