From 6a4a784f327b2c6d031be05fc46c25896b61a358 Mon Sep 17 00:00:00 2001 From: Clemens Date: Mon, 5 Jul 2021 14:51:28 +0200 Subject: [PATCH] Update TileImageLoader.cs --- MapControl/Shared/TileImageLoader.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/MapControl/Shared/TileImageLoader.cs b/MapControl/Shared/TileImageLoader.cs index 09a293a4..30dbfd7a 100644 --- a/MapControl/Shared/TileImageLoader.cs +++ b/MapControl/Shared/TileImageLoader.cs @@ -56,9 +56,12 @@ namespace MapControl /// If tileSource.UriFormat starts with "http" and tileCacheName is a non-empty string, /// tile images will be cached in the TileImageLoader's Cache (if that is not null). /// - public async Task LoadTiles(IEnumerable tiles, TileSource tileSource, string cacheName) + public Task LoadTiles(IEnumerable tiles, TileSource tileSource, string cacheName) { + var tasks = new List(); + tileQueue.Clear(); + TileSource = tileSource; tiles = tiles.Where(tile => tile.Pending); @@ -75,17 +78,15 @@ namespace MapControl tileQueue.Enqueue(tile); } - var tasks = new List(); - while (taskCount < Math.Min(tileQueue.Count, MaxLoadTasks)) { Interlocked.Increment(ref taskCount); tasks.Add(LoadTilesFromQueueAsync(tileSource, cacheName)); } - - await Task.WhenAll(tasks); } + + return tasks.Count > 0 ? Task.WhenAll(tasks) : Task.CompletedTask; } private async Task LoadTilesFromQueueAsync(TileSource tileSource, string cacheName)