Condividi tramite


Uso di una bitmap memorizzata nella cache per migliorare le prestazioni

Gli oggetti Image e Bitmap archiviano le immagini in un formato indipendente dal dispositivo. Un oggetto CachedBitmap archivia un'immagine nel formato del dispositivo di visualizzazione corrente. Il rendering di un'immagine archiviata in un oggetto CachedBitmap è veloce perché non viene impiegato tempo di elaborazione per convertire l'immagine nel formato richiesto dal dispositivo di visualizzazione.

Nell'esempio seguente viene creato un oggetto Bitmap e un oggetto CachedBitmap dal file Texture.jpg. La bitmap e cachedBitmap sono ognuna disegnata 30.000 volte. Se si esegue il codice, si noterà che le immagini CachedBitmap vengono disegnate sostanzialmente più velocemente rispetto alle immagini Bitmap .

Bitmap        bitmap(L"Texture.jpg");
UINT          width = bitmap.GetWidth();
UINT          height = bitmap.GetHeight();
CachedBitmap  cBitmap(&bitmap, &graphics);
int           j, k;
for(j = 0; j < 300; j += 10)
   for(k = 0; k < 1000; ++k)
     graphics.DrawImage(&bitmap, j, j / 2, width, height);
for(j = 0; j < 300; j += 10)
   for(k = 0; k < 1000; ++k)
      graphics.DrawCachedBitmap(&cBitmap, j, 150 + j / 2 );

Nota

Un oggetto CachedBitmap corrisponde al formato del dispositivo di visualizzazione al momento della costruzione dell'oggetto CachedBitmap . Se l'utente del programma modifica le impostazioni di visualizzazione, il codice deve costruire un nuovo oggetto CachedBitmap . Se si passa un oggetto CachedBitmap creato prima di una modifica del formato di visualizzazione, il metodo DrawImage avrà esito negativo.