테크 로그포스 Tech Log Force
더블 버퍼링이란? 그 필요성 본문
일반적으로 프레임버퍼는 2중포트구조이다. 물체 영상을 쓰는 것과 거의 동시에 읽는다.
그런데 비디오 프로세서가 read하는 속도는 그래픽 컨트롤러가 write하는 속도와 차이가 난다(read가 훨씬 빠르다)
이 차이로 인해 화면이 깜빡거리는 등 문제가 발생한다.
이러한 문제는 더블버퍼링으로 해결할 수 있다. (그래픽 프로세서를 더 빠르게 할 수도 있겠지만)
프론트버퍼와 더블버퍼로 2개의 버퍼를 사용하여, 비디오 컨트롤러가 프론트버퍼를 read하는 동안 그래픽 프로세서는 백버퍼에 write한다. write를 마치면 두 버퍼를 switching하는 방식으로 진행한다.
OpenGL에서는 glutInitDisplayMode(GLUT DOUBLE)로 설정해줄 수 있다.
버퍼 Switching에는 glutSwapBuffers()를 사용한다.
'CS > Computer Graphics' 카테고리의 다른 글
어파인 공간(Affine Space), 동차좌표(Homogeneous coordinates) (0) | 2023.04.25 |
---|---|
정점배열 (0) | 2023.04.25 |
GPU구조 - 파이프라인, 상태변수 (0) | 2023.04.25 |
고수준 그래픽 API, 저수준 그래픽 API (0) | 2023.04.25 |
[OpenGL] GL, GLU, GLUT (0) | 2023.04.25 |
Comments