더블 버퍼링(Double Buffering) (CreateCompatibleDC / CreateCompatibleBitmap)


* 더블 버퍼링
- 화면 그리는 시간을 단축하여 화면 전환 깜박이는 현상 개선
- 그려야 하는 장면을 완성 후 한번에 보여 주는 것
- 게임 제작에 필수




* CreateCompatibleDC() (compatible: 호환되는)
- DC를 만드는 방법
- DC의 특성을 가지고 있지만 출력장치와 연결되지 않은 DC(GetDC는 출력장치와 연결)
- 객체에 그림이 그려지지만 화면에 출력되지 않는 Memroy DC 
- 출력장치가 없기 때문에 비트맵 객체게 연결해주어야 한다(CreateCompatibleBitmap 함수)
- 함수 원형: HDC CreateCompatibleDC(HDC hdc);
- DeleteDC 함수로 해제



* CreateCompatibleBitmap()
- hdc와 호환되는(색상면과 픽셀당 비트수가 동일) 포멧의 비트맵을 2번째, 3번째 인수의 크기로 만드는 함수
- CreateCompatibleBitmap 으로 만든 비트맵 객체를 SelectObject로 Memroy DC 와 연결
- 함수 원형: HBITMAP CreateCompatibleBitmap(HDC hdc, int nWitdh, int nHeight)
- DeleteObject 함수로 해제





댓글

댓글 쓰기