다음을 통해 공유


캐시된 비트맵을 사용하여 성능 향상

이미지비트맵 개체는 디바이스 독립적 형식으로 이미지를 저장합니다. CachedBitmap 개체는 이미지를 현재 디스플레이 디바이스의 형식으로 저장합니다. CachedBitmap 개체에 저장된 이미지를 렌더링하는 것은 디스플레이 디바이스에 필요한 형식으로 이미지를 변환하는 데 소요되는 처리 시간이 없기 때문에 빠릅니다.

파일 Texture.jpg에서 Bitmap 개체와 CachedBitmap 개체를 생성하는 예제입니다. 비트맵CachedBitmap 각각 30,000회 그려집니다. 코드를 실행하면 CachedBitmap 이미지가 비트맵 이미지보다 훨씬 빠르게 그려지는 것을 볼 수 있습니다.

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 );

메모

CachedBitmap 개체는 CachedBitmap 개체가 생성될 때의 표시 디바이스 형식과 일치합니다. 프로그램 사용자가 표시 설정을 변경하는 경우 코드는 새 CachedBitmap 개체를 생성해야 합니다. DrawImage 메서드는 표시 형식이 변경되기 전에 생성된 CachedBitmap 개체를 전달하면 실패합니다.