Нельзя ли сделать построение карты заполнения слоя в отдельном потоке?
Сейчас процесс построения не отменяется даже по нажатию ESC. Приходится ждать, либо нажимать крестик в окошке с прогресс-баром, так как неаккуратное нажатие Alt-F4 грозит закрытием всей проги с активными закачками.
При перемещении по карте не обязательно перерисовывать всю область заполнения экрана. Можно хранить текущие битовые маски, соответствующие отрисовываемым тайлам.
Например, для текущего масштаба 12 строится карта заполнения 19 уровня. Причём видно, положим, 20 тайлов 12 уровня. Значит нужно хранить 20 структур, содержащих 4^(19-12-1)=4^6 бит = 512 байт. Каждый бит будет определять есть соответствующий тайл 19го уровня или нет. При выходе такой структуры за пределы экрана её можно совобождать, создавая при этом новую с другой стороны и загружая её содержимое в параллельном потоке.