Go to anywhere with a zoom level of 50m in JOSM, enable any TMS layer (I am using "OpenStreetMap Carto" in this example), clear the layer cache and see how JOSM also loads tiles from lower zoom levels:
2018-09-17 11:25:59.863 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236633/160902.png -> 200 (1,56 kB)
2018-09-17 11:25:59.872 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236631/160902.png -> 200 (2,62 kB)
2018-09-17 11:25:59.873 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236631/160903.png -> 200 (103 B)
2018-09-17 11:25:59.877 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236634/160902.png -> 200 (1,10 kB)
2018-09-17 11:25:59.877 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236631/160901.png -> 200 (3,61 kB)
2018-09-17 11:25:59.879 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236633/160904.png -> 200 (103 B)
2018-09-17 11:25:59.879 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236634/160901.png -> 200 (103 B)
2018-09-17 11:25:59.880 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236632/160903.png -> 200 (336 B)
2018-09-17 11:25:59.884 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236634/160900.png -> 200 (103 B)
2018-09-17 11:25:59.888 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236633/160901.png -> 200 (1,26 kB)
2018-09-17 11:25:59.890 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236632/160904.png -> 200 (103 B)
2018-09-17 11:25:59.891 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236635/160902.png -> 200 (3,10 kB)
2018-09-17 11:25:59.891 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236635/160901.png -> 200 (103 B)
2018-09-17 11:25:59.897 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236634/160903.png -> 200 (103 B)
2018-09-17 11:25:59.898 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236634/160904.png -> 200 (103 B)
2018-09-17 11:25:59.898 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236632/160902.png -> 200 (5,93 kB)
2018-09-17 11:25:59.899 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236633/160900.png -> 200 (103 B)
2018-09-17 11:25:59.899 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236632/160900.png -> 200 (2,59 kB)
2018-09-17 11:25:59.900 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236632/160901.png -> 200 (2,27 kB)
2018-09-17 11:25:59.900 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236630/160902.png -> 200 (103 B)
2018-09-17 11:25:59.897 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236633/160903.png -> 200 (352 B)
2018-09-17 11:25:59.902 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/18/236630/160901.png -> 200 (357 B)
2018-09-17 11:26:00.088 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236635/160903.png -> 200 (103 B)
2018-09-17 11:26:00.102 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236635/160900.png -> 200 (103 B)
2018-09-17 11:26:00.103 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/17/118315/80452.png -> 200 (103 B)
2018-09-17 11:26:00.105 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/17/118317/80450.png -> 200 (103 B)
2018-09-17 11:26:00.150 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236630/160903.png -> 200 (103 B)
2018-09-17 11:26:00.151 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/15/29578/20112.png -> 200 (2,59 kB)
2018-09-17 11:26:00.153 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/16/59158/40226.png -> 200 (103 B)
2018-09-17 11:26:00.155 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/16/59158/40225.png -> 200 (4,41 kB)
2018-09-17 11:26:00.156 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236635/160904.png -> 200 (103 B)
2018-09-17 11:26:00.159 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236631/160904.png -> 200 (103 B)
2018-09-17 11:26:00.163 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/17/118316/80452.png -> 200 (103 B)
2018-09-17 11:26:00.163 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/16/59157/40225.png -> 200 (2,50 kB)
2018-09-17 11:26:00.165 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/17/118316/80451.png -> 200 (4,84 kB)
2018-09-17 11:26:00.167 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/17/118316/80450.png -> 200 (3,01 kB)
2018-09-17 11:26:00.167 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/14/14789/10056.png -> 200 (10,5 kB)
2018-09-17 11:26:00.169 INFORMAÇÕES: GET https://c.tile.openstreetmap.org/16/59157/40226.png -> 200 (103 B)
2018-09-17 11:26:00.175 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/17/118315/80450.png -> 200 (3,47 kB)
2018-09-17 11:26:00.177 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/18/236631/160900.png -> 200 (1,70 kB)
2018-09-17 11:26:00.178 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236630/160900.png -> 200 (2,48 kB)
2018-09-17 11:26:00.179 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/17/118315/80451.png -> 200 (1,95 kB)
2018-09-17 11:26:00.303 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/17/118317/80451.png -> 200 (2,86 kB)
2018-09-17 11:26:00.319 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/17/118317/80452.png -> 200 (103 B)
2018-09-17 11:26:00.370 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/15/29578/20113.png -> 200 (103 B)
2018-09-17 11:26:00.380 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/13/7394/5028.png -> 200 (4,91 kB)
2018-09-17 11:26:00.550 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/18/236630/160904.png -> 200 (103 B)
2018-09-17 11:26:00.557 INFORMAÇÕES: GET https://a.tile.openstreetmap.org/15/29579/20112.png -> 200 (23,1 kB)
2018-09-17 11:26:00.565 INFORMAÇÕES: GET https://b.tile.openstreetmap.org/15/29579/20113.png -> 200 (5,89 kB)
Or, in summary, the number of tiles | zoom level
that it downloads:
Number | Zoom
30 | 18
9 | 17
4 | 16
4 | 15
1 | 14
1 | 13
From what I understand, JOSM should only load tiles from the current zoom level; also:
1) lower zoom level tiles should only be download if we receive a 404 for the requested tile (or some other kind of error).
2) of course, if a lower level tile is available in the local cache, it could be used/displayed while the requested tiles are being downloaded.
In a test with the Bing layer, in total it dowloads 427.99 kB at this same area (being 287.03 kB for level 18 (67.06%) and 140.96 kB (32.93%) for the other possibly unneeded levels)
I understand that it's faster to display the lower level tiles while the proper level is being downloaded, but when we are using a low speed Internet connection, it only makes things worse (it's also valid when we are using a limited data plan).
Could we at least have an option to enable or not this behavior, please?
ie, it should always implements 1) and 2), but we should be able to choose if we want to download or not the lower level tiles too.
JOSM:
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-09-16 10:26:39 +0200 (Sun, 16 Sep 2018)
Revision:14258
Build-Date:2018-09-16 15:50:45
URL:https://josm.openstreetmap.de/svn/trunk
Identification: JOSM/1.5 (14258 pt_BR) Linux Debian GNU/Linux testing (buster)
Memory Usage: 459 MB / 6144 MB (105 MB allocated, but free)
Java version: 10.0.2+13-Debian-1, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1600x900, :0.1 1280x1024
Maximum Screen Size: 1600x1024
Java package: openjdk-10-jre:amd64-10.0.2+13-1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-21
VM arguments: [-Dawt.useSystemAAFontSettings=gasp]
Dataset consistency test: No problems found
In 14260/josm: