Double Buffering
문제점
Partial Update Problem
- 컴퓨터가 이미지를 출력하기 위해서는, 프레임 버퍼에 저장된 이미지(래스터 방식 - colored rectangle 2Darray)을
1:1 대응으로 화면에 출력한다. - 매 프레임마다 프레임버퍼에 저장된 이미지를 출력해야 하는데
특정 프레임에서 이제 프레임버퍼에 저장된 이미지를 출력해야 하는데 프레임 버퍼의 값들이 모두 업데이트가 안된 경우가 있다. - 그래도 화면에는 출력을 해야하니 값을 모두 업데이트 못한 프레임버퍼를 그냥 화면에 출력시켜 버린다
-> Partial Update Problem 발생
해결방법
2개의 프레임 버퍼 사용
Back Buffer와 Front Buffer, 즉 2개의 프레임 버퍼를 사용
값을 업데이트 할때에는 Back Buffer를 업데이트
화면에 출력할 때는 Front Buffer를 사용한다.
기존 문제에서는 값을 모두 업데이트 하지 못한채로 화면에 출력됬었는데
이제는 값을 모두 업데이트 할 때 까지 Front Buffer의 값을 출력하다가
Back Buffer를 모두 업데이트 하였으면 Front Buffer와 Back Buffer를 Swap해서
완전히 수정된 Buffer를 화면에 출력해준다.