Verwenden einer zwischengespeicherten Bitmap zur Verbesserung der Leistung
Bild - und Bitmapobjekte speichern Bilder in einem geräteunabhängigen Format. Ein CachedBitmap-Objekt speichert ein Bild im Format des aktuellen Anzeigegeräts. Das Rendern eines in einem CachedBitmap-Objekt gespeicherten Bilds ist schnell, da keine Verarbeitungszeit für das Konvertieren des Bilds in das vom Anzeigegerät erforderliche Format aufgewendet wird.
Im folgenden Beispiel werden ein Bitmap-Objekt und ein CachedBitmap-Objekt aus der Datei Texture.jpg erstellt. Die Bitmap und die CachedBitmap werden jeweils 30.000 Mal gezeichnet. Wenn Sie den Code ausführen, sehen Sie, dass die CachedBitmap-Bilder wesentlich schneller gezeichnet werden als die Bitmapbilder .
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 );
Hinweis
Ein CachedBitmap-Objekt entspricht dem Format des Anzeigegeräts zum Zeitpunkt der Erstellung des CachedBitmap-Objekts . Wenn der Benutzer Ihres Programms die Anzeigeeinstellungen ändert, sollte Ihr Code ein neues CachedBitmap-Objekt erstellen. Die DrawImage-Methode schlägt fehl, wenn Sie ein CachedBitmap-Objekt übergeben, das vor einer Änderung des Anzeigeformats erstellt wurde.