본문 바로가기
그래픽스

[Graphics] 더블버퍼링의 원리와 사용이유

728x90
반응형

🎲 더블버퍼링이란?

    일반적으로 이미지를 출력할때 하나의 버퍼만을 가지고 출력할 경우 플리커링등의 문제가 발생합니다. 이유는 이미지가 넘어갈 때 마다 이미지를 지우고 그리는 과정이 전부 보여지기 때문인데 이러한 문제점을 보완한 방식이 더블버퍼링입니다. 백버퍼에서 이미지를 그려서 완성시킨후 프론트버퍼에 넘겨주면 화면에는 완성된 이미지만 출력 되기 때문에 보다 자연스러운 그래픽을 표현할 수 있습니다.

 

🍳 스왑체인이란?

    더블버퍼링의 문제를 조금 더 보완해주는 방식입니다. 기존의 더블버퍼링은 백버퍼에서 완성된 이미지를 프론트 버퍼로 넘겨주기 때문에 그리는과정이 출력되지 않아 플리커링이 많이 감소하였지만, 이미지를 프론트버퍼에 새로 그리는 시간 때문에 플리커링이 간혹 발생할 수는 있습니다. 이러한 문제점을 보완한 방식이 스왑체인인데 백버퍼에서 그림을 다 그리고 프론트버퍼에 옮겨 주는것이 아니라 백버퍼를 화면에 출력해주고 그동안 프론트버퍼에 새로 그림을 그려주는 것입니다. 이렇게 되면 완성된 그림을 다른 버퍼에 옮겨줄 필요가 없어 플리커링을 방지할 수 있습니다. 스왑체인이라는 이름은 이렇게 프론트버퍼와 백버퍼를 번갈아 출력해주는 방식에서 나온 이름입니다.

    

반응형