스왑 체인이란 무엇입니까?
스왑 체인은 이미지가 실제 모니터 나 다른 장치에 표시되기 전에 이미지를 렌더링하는 데 사용되는 일련의 프레임 버퍼 또는 컴퓨터 메모리의 위치입니다. 스왑 체인에는 항상 두 개 이상의 프레임 버퍼가 있습니다. 첫 번째 또는 활성 버퍼는 일반적으로 현재 디스플레이에 표시되는 버퍼로 식별되기 때문입니다. 하나의 프레임 버퍼가 표시되는 동안 다음 버퍼를 렌더링하여 표시 할 수 있으며 필요에 따라 장치로 교체 할 수 있습니다. 스왑 체인을 사용하면 하드웨어와 소프트웨어 타이밍 간의 충돌로 인해 발생하는 일부 문제는 물론 디스플레이 장치로 직접 렌더링하여 나타날 수있는 그래픽 아티팩트도 제거 할 수 있습니다.
이미지가 모니터에 표시되는 방식은 실제로 지정된 숫자의 메모리 영역에 올바른 일련의 숫자를 배치하는 것입니다. 이 메모리 영역에있는 것은 무엇이든 매 초마다 화면에 그려집니다. 화면은 왼쪽 상단에서 오른쪽 하단으로 가로줄로 그려집니다. 화면이 다음 프레임을 시작하는 순간, 화면의 오른쪽 하단에서 왼쪽 상단으로 이동하는 순간을 수직 귀선이라고합니다.
스왑 버퍼의 구현은 수직 복귀 동안에 만 화면을 그립니다. 이 타이밍이 꺼져 있거나 프레임이 렌더링되는 기간 동안 프로그램이 화면에 그리려고하면 눈물로 알려진 그래픽 이상이 나타날 수 있습니다. 렌더링 도중 디스플레이 장치 메모리의 이미지가 갑자기 변경되어 디스플레이의 한쪽에 마지막 프레임이 표시되고 나머지 화면에 새 프레임이 표시 될 때 발생합니다.
미리 장면을 프레임 버퍼로 렌더링함으로써, 표시 될 다음 프레임이 이미 준비되어 있고 디스플레이 메모리로 빠르게 푸시되어 보여 질 수있다. 하나의 이미지가 표시되는 동안 다음 이미지는 비활성 프레임 버퍼 (백 버퍼라고도 함)에 그려집니다. 이를 통해 찢어짐을 방지하기 위해 정확하게 시간을 조정할 수있는 부드러운 애니메이션과 시각 효과를 만듭니다.
"스왑 체인"이라는 용어는 활성 프레임 버퍼에 앞서 그려지는 프레임 수에 따라 더블 버퍼링 또는 트리플 버퍼링으로 더 일반적으로 알려져 있습니다. 나노초 또는 밀리 초 타이밍 알고리즘을 사용하는 것은 스왑 체인을 사용하여 모니터의 최대 프레임 속도를 초과하지 않고 프로그램이 시스템에서 자체 처리 및 리소스를 조정할 수 있도록하는 데 필수적인 부분입니다. 스왑 체인을 적절하게 구현하면 디스플레이 장치의 속성이나 단일 애니메이션 프레임을 렌더링하는 데 걸리는 시간에 관계없이 부드러운 애니메이션이 만들어 질 수 있습니다.