Uso de un mapa de bits almacenado en caché para mejorar el rendimiento

Los objetos Image y Bitmap almacenan imágenes en un formato independiente del dispositivo. Un objeto CachedBitmap almacena una imagen con el formato del dispositivo de visualización actual. La representación de una imagen almacenada en un objeto CachedBitmap es rápida porque no se dedica tiempo de procesamiento a convertir la imagen en el formato requerido por el dispositivo de visualización.

En el ejemplo siguiente se crea un objeto Bitmap y un objeto CachedBitmap a partir del archivo Texture.jpg. El mapa de bits y cachedBitmap se dibujan 30 000 veces. Si ejecuta el código, verá que las imágenes CachedBitmap se dibujan sustancialmente más rápido que las imágenes de mapa de bits.

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 objeto CachedBitmap coincide con el formato del dispositivo de visualización en el momento en que se construyó el objeto CachedBitmap . Si el usuario del programa cambia la configuración de visualización, el código debe construir un nuevo objeto CachedBitmap . Se producirá un error en el método DrawImage si se pasa un objeto CachedBitmap que se creó antes de un cambio en el formato de presentación.