Update TileImageLoader.cs

This commit is contained in:
ClemensFischer 2023-08-15 17:37:25 +02:00
parent a1b6b0244a
commit 191e185be6

View file

@ -82,10 +82,14 @@ namespace MapControl
var tileQueue = pendingTiles; // pendingTiles may change while LoadTilesFromQueue() is running
progress?.Report(0d);
async Task LoadTilesFromQueue()
{
while (tileQueue.TryDequeue(out var tile))
{
progress?.Report((double)(tileCount - tileQueue.Count) / tileCount);
try
{
await LoadTile(tile, tileSource, cacheName).ConfigureAwait(false);
@ -94,13 +98,9 @@ namespace MapControl
{
Debug.WriteLine($"TileImageLoader: {tile.ZoomLevel}/{tile.Column}/{tile.Row}: {ex.Message}");
}
progress?.Report((double)(tileCount - tileQueue.Count) / tileCount);
}
}
progress?.Report(0d);
return Task.WhenAll(Enumerable.Range(0, taskCount).Select(_ => Task.Run(LoadTilesFromQueue)));
}
}