Salve a tutti, mi trovo con l'esigenza di dover utilizzare un datagridview in un form per permettere la visualizzazione di parecchie immagini in formato thumbnails da proporre all'utente. Le immagini che andrò a leggere sono allo stato nativo in formato JPG e pesano circa 22k l'una. Ho realizzato una funzione che si occupa di calcolarmi colonne massime in base al numero di thumbnails presente in una tabella figlia della tabella MEDIA. Allego frammento di codice che utilizzo per caricare le immagini:
questo codice lo eseguo in un backgroundworker come segue
bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.WorkerSupportsCancellation = true;
bw.DoWork += (o, e) =>
{
CaricaImmagini();
};
bw.RunWorkerCompleted += (o, e) =>
{
.......
//eseguo binding a bindingsource che punta alla tabella "TMedia"
};
bw.RunWorkerAsync();
Nell'esempio da me testato, con circa 10000 immagini ci impiega 55 secondi a caricarle tutte, le immagini devono essere ridimensionate per questo uso .GetThumbnailImage
Mi chiedevo se posso migliorare in qualche modo la velocità (lo so che esiste la paginazione ma avrei la necessità di proporre a video quante più immagini possibili senza "cambiare pagina") ?
Attendo suggerimenti e consigli, grazie !