Sdílet prostřednictvím


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í.