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.