Partager via


Utilisation d’une bitmap mise en cache pour améliorer les performances

Les objets Image et Bitmap stockent des images dans un format indépendant de l’appareil. Un objet CachedBitmap stocke une image au format de l’appareil d’affichage actuel. Le rendu d’une image stockée dans un objet CachedBitmap est rapide, car aucun temps de traitement n’est passé à convertir l’image au format requis par l’appareil d’affichage.

L’exemple suivant crée un objet Bitmap et un objet CachedBitmap à partir du fichier Texture.jpg. Les images Bitmap et CachedBitmap sont chacune dessinées 30 000 fois. Si vous exécutez le code, vous verrez que les images CachedBitmap sont dessinées beaucoup plus rapidement que les images 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 );

Notes

Un objet CachedBitmap correspond au format de l’appareil d’affichage au moment où l’objet CachedBitmap a été construit. Si l’utilisateur de votre programme modifie les paramètres d’affichage, votre code doit construire un nouvel objet CachedBitmap . La méthode DrawImage échoue si vous lui transmettez un objet CachedBitmap créé avant une modification du format d’affichage.