• 자유 게시판
  • 유머 게시판
  • 질문/답변 게시판
  • 정보/강좌 게시판
  • 소설 게시판
  • My Games Top 10

정보&강좌 게시판

더블버퍼링

2003.06.24 00:25

크래닉스 조회 수:5861

더블버퍼링

더블버퍼링은 게임만드는것중 가장 기초가되는 기법이죠..
먼저 이미지를 화면에 뿌리는 방법을 살펴봅시다.
1. 이미지를 보조기억장치에서 읽는다.
2. 이미지를 화면에 출력한다.
이런 단계로 이미지가 출력되게 됩니다.
이렇게 하나의 그림을 보면 문제가 없어보입니다.

그럼 애니매이션을 만들어 볼까요..
여러개의 그림파일이 있습니다. img1,img2,img3,....
이런식으로 저장되어 있구요..
그럼 애니매이션 시켜봅시다.
1. img1,img2,img3 을 보조기억장치에서 읽는다.
2. img1 을 화면에 그린다.
3. img2 를 화면에 그린다.
4. img3 을 화면에 그린다.
5. 2,3,4 를 반복한다

이런식으로 만들면 img1,2,3 이 순차적으로 보이게되어 애니매이션이 되게 되는거죠..
이런식으로 만들어서 보면 문제를 금방 알수 있습니다.
문제는 보조기억장치는 주기억장치보다 훨씬~~ 느려서...
이미지들이 화면에 그려질때 미쳐 다 그려지지 않았는데..
다음 이미지로 넘어가 버리는 경우가 있죠..
이렇게 되면.. 화면에서는 깜박거리게 보이게 되는거죠..
이런것을 방지하기 위해서 더블버퍼링이 이라는 기법을 씁니다.

그럼 위의 애니매이션을 바꿔볼까요..
1. img1,img2,img3 을 보조기억장치에서 읽는다.
2. img1 을 버퍼에 그린다.
3. 버퍼 를 화면에 출력한다.
4. img2 를 버퍼에 그린다.
5. 버퍼 를 화면에 출력한다.
6. img3 을 버퍼에 그린다.
7. 버퍼 을 화면에 출력한다.
8. 2-7 을 반복한다.

이렇게 하면..
이미지가 출력되기전에 먼저 버퍼에 그려지기고 그 그려진 버퍼를 화면에 나타내는것이죠..
이것은 주기억장치의속도로 그림을 그리기 때문에..
깜박거리는것이 없어지고 자연스러워 지는것이죠..