Zvýšení výkonu pomocí rastrového obrázku uloženého v mezipaměti
Image a Bitmap objekty ukládají obrázky ve formátu nezávislém na zařízení. Objekt CachedBitmap ukládá obrázek ve formátu aktuálního zobrazovacího zařízení. Vykreslení obrázku uloženého v CachedBitmap objektu je rychlé, protože při převodu obrázku do formátu požadovaného zařízením pro zobrazení se neutratí čas zpracování.
Následující příklad vytvoří objekt Bitmap a CachedBitmap objekt ze souboru Texture.jpg. Bitmap a CachedBitmap jsou nakresleny 30 000krát. Pokud kód spustíte, uvidíte, že obrázky CachedBitmap jsou podstatně rychlejší než obrázky 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 );
Poznámka
Objekt CachedBitmap odpovídá formátu zobrazovacího zařízení v době, kdy byl vytvořen objekt CachedBitmap. Pokud uživatel programu změní nastavení zobrazení, měl by váš kód vytvořit nový CachedBitmap objektu. DrawImage metoda selže, pokud ji předáte CachedBitmap objekt, který byl vytvořen před změnou ve formátu zobrazení.