Je ne peux pas vérifier cela pour vous, mais il semble que ma demande se bloque parce qu'il prend trop de temps pour mes ressources pour charger.UWP/Win2D - application se bloque alors que les ressources en toile de chargement
je crois qu'il vient de mon appel à CreateCanvasResourcesAsync
public void OnCreateResources(CanvasControl sender, CanvasCreateResourcesEventArgs args)
{
args.TrackAsyncAction(CreateCanvasResourcesAsync(sender).AsAsyncAction());
}
private async Task CreateCanvasResourcesAsync(CanvasControl sender)
{
if (_tiles.Keys.Count > 0) return;
await LoadImageAssets(sender, _tiles);
}
private async Task LoadImageAssets(CanvasControl canvas, IDictionary<int, CanvasBitmap> dictionary)
{
dictionary.Add((int)TileTypes.Tile1, await CanvasBitmap.LoadAsync(canvas, @"Assets/Tiles/Tile1.png"));
dictionary.Add((int)TileTypes.Tile2, await CanvasBitmap.LoadAsync(canvas, @"Assets/Tiles/Tile2.png"));
// etc.
}
Je suis le chargement d'environ 200 bitmaps, pour un total d'environ 4 Mo en taille.
Quelqu'un d'autre a-t-il ressenti cela? Si oui, avez-vous trouvé une solution de contournement?
J'ai trouvé quelques articles qui offrent des suggestions à chargement des ressources nécessaires à l'exécution, mais ils ne semblent pas correspondre avec le problème que je vais avoir.
Qu'est-ce que la mise en œuvre de 'CreateCanvasResourcesAsync (...)' ressembler? – Laith
J'ai mis à jour la description pour inclure des informations sur les méthodes appelées par CreateCanvasResourceAnsync (...). –
Est-il possible de charger les bitmaps à l'extérieur, puis de les transmettre à la vue? Pour vérifier qu'il n'y avait pas de problèmes avec les images elles-mêmes, je les ai chargées en externe à la vue sans problème. S'il y a un moyen d'injecter les images dans la vue, ce serait une bonne solution de contournement. –