다음을 통해 공유


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

이미지비트맵 개체는 디바이스 독립적 형식으로 이미지를 저장합니다. 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 개체를 생성해야 합니다. 디스플레이 형식이 변경되기 전에 생성된 CachedBitmap 개체를 전달하면 DrawImage 메서드가 실패합니다.