Vsync는 무엇이며 사용해야 합니까?

Vsync 는 대부분의 (Vsync)PC 비디오 게임(PC video games) 과 때로는 다른 응용 프로그램에서도 볼 수 있는 옵션입니다 . 그러나 Vsync 는 무엇 입니까? 그것은 무엇을합니까? 켜야 하나 꺼야 하나? 

이에 대한 대답은 복잡하지만 Vsync의 목적을 이해하고 나면 Vsync 를 언제 켜야 하는지 또는 꺼야 하는지 알 수 있습니다.

Vsync 란 무엇입니까?

가장 먼저 알아야 할 것은 모니터가 초당 특정 수의 개별 이미지를 표시할 수 있다는 것입니다. 이것을 새로 고침 빈도(refresh rate) 라고 합니다 . 이는 모니터가 화면의 이미지를 새로운 것으로 완전히 새로 고칠 수 있는 횟수입니다.

아직 모른다면 일련의 정지 이미지를 빠르게 표시하여 화면에서 움직이는 그림의 환상을 만듭니다. 각 이미지는 다른 시간 조각에서 주제를 보여줍니다. 영화관에서 보는 대부분의 영화는 초당 24프레임으로 촬영됩니다. 따라서 1초 내에 24개의 시간 조각이 표시됩니다. 

초당 30 및 60 프레임으로 녹화되는 콘텐츠도 많이 있습니다. 예를 들어 액션 카메라(Action camera) 영상은 일반적으로 초당 60프레임으로 녹화됩니다.

1초에 보여줄 수 있는 고유한 프레임이 많을수록 더 부드럽고 선명한 모션이 나타납니다. 당신의 두뇌는 프레임을 병합하고 그것을 움직이는 그림으로 인식합니다.

컴퓨터 시스템에서 GPU (그래픽 처리 장치)는 디스플레이로 보낼 프레임을 준비합니다. 그러나 디스플레이가 이전 프레임을 그리는 작업 중이기 때문에 새 프레임에 대한 준비가 되지 않은 경우 다른 프레임의 일부가 동시에 표시되는 상황이 발생할 수 있습니다. Vsync 는 (Vsync)GPU 의 프레임을 모니터의 재생 빈도와 동기화하여 이러한 상황을 방지하기 위한 것 입니다.

일반적인 재생 빈도

가장 일반적인 디스플레이 재생 빈도는 60Hz입니다. 즉, 초당 60회 새로 고침입니다. 대부분의 컴퓨터 모니터와 텔레비전은 최소한 이 정도를 제공합니다. 

또한 다음과 같은 다양한 재생 빈도(refresh rates) 로 컴퓨터 모니터를 구입할 수 있습니다 . 75Hz, 120Hz, 144Hz, 240Hz 및 300Hz. 다른 홀수 볼 숫자도 있을 수 있지만 이것은 일반적이며 특수 게임 시스템 외부에서 더 높은 재생 빈도는 더 드뭅니다. 

텔레비전은 거의 모두 60Hz 장치이며 120Hz 세트는 이제 해당 재생 빈도를 지원하는 최신 게임 콘솔과 함께 주류 시장에 진입하고 있습니다.

재생률 (Rate)프레임 (Frame) 속도(Rates) 일치

화면의 새로 고침 빈도가 콘텐츠의 프레임 속도와 정확히 일치할 필요는 없습니다. 예를 들어, 60Hz 디스플레이에서 초당 30프레임의 비디오를 재생하는 경우 60Hz에서 두 개의 동일한 프레임을 표시하여 총 30개의 고유 프레임을 표시하면 됩니다. 

24fps 푸티지는 24가 60으로 깔끔하게 분할되지 않기 때문에 문제가 됩니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다. 일부 화면은 의도한 것과 약간 다른 속도로 콘텐츠를 실행하는 대가로 불일치를 보상하는 "풀다운"이라는 비디오 변환 형식을 사용합니다. 

많은 최신 디스플레이는 다른 재생 빈도로 전환할 수도 있습니다. 따라서 TV는 48Hz 또는 24Hz로 전환하여 24fps 푸티지와 완벽한 동기화를 얻을 수 있습니다. 120Hz TV(TVs) 는 24를 120으로 균등하게 나누기 때문에 이 작업을 수행할 필요가 없습니다.

Vsync를 사용하는 경우

비디오 게임에서 프레임은 영화나 비디오처럼 질서 정연한 방식으로 생성되지 않습니다. 제한이 없는 상태에서 CPU , GPU 및 게임 엔진은 가능한 한 많은 프레임을 생성하려고 합니다. 그러나 게임 엔진이 이러한 구성 요소에 가하는 작업 부하가 다를 수 있으므로 프레임 속도가 변동될 수 있습니다.

위에서 언급했듯이 GPU 가 모니터의 재생 빈도와 동기화되지 않은 프레임을 보낼 때 이미지의 다른 부분이 정렬되지 않는 화면이 찢어지는(screen tearing) 듯한 느낌 을 받게 됩니다.

Vsync 를 활성화하면 GPU 는 모니터가 새 프레임을 그릴 준비가 되었을 때만 표시할 프레임을 보내며 프레임이 렌더링되는 속도도 효과적으로 제한합니다. 그러나 이것은 실제로 프레임이 "버퍼링"되는 방식으로 인해 또 다른 문제를 일으킬 수 있습니다. 다음으로 두 가지 일반적인 프레임 버퍼링 유형에 대해 설명합니다.

이중 버퍼 대 삼중 버퍼 Vsync(Versus Triple- Buffered Vsync)

"버퍼"는 다른 장치나 프로세스가 읽을 준비가 되었을 때 읽을 대기 영역으로 지정된 메모리 영역입니다. GPU 가 프레임을 렌더링하면 버퍼에 기록됩니다 . 그런 다음 화면은 해당 버퍼에서 프레임을 읽어서 그립니다. 

소위 "이중 버퍼링"이 오늘날 표준입니다. 두 개의 버퍼가 있으며 교대로 "앞"과 뒤" 버퍼 역할을 합니다. 디스플레이는 전면 버퍼에서 프레임을 그리는 반면 GPU 는 후면 버퍼에 씁니다. 그런 다음 두 버퍼가 역할을 전환하고 프로세스가 반복됩니다.

Vsync 가 없으면 두 버퍼를 언제든지 교환할 수 있습니다. 따라서 화면이 프레임에 있는 각 버퍼의 일부를 그려서 찢어질 수 있습니다. Vsync 를 켜면 찢어짐이 사라집니다. 그러나 GPU 가 1/60초 내에 백 버퍼에 쓰기를 마치지 못하면 해당 프레임을 건너뜁니다. 결과적으로 초당 30프레임이 유효합니다. 

컴퓨터가 초당 60프레임을 일관되게 렌더링할 수 없다면 30fps가 고정되거나 프레임 속도가 30에서 60 사이로 급격히 떨어지는 것을 경험할 수 있습니다.

트리플 버퍼링(Triple-buffering) 은 두 번째 백 버퍼를 추가합니다. 즉, 항상 프런트 버퍼로 교체할 준비가 된 프레임이 있으므로 60Hz 화면에서 초당 45 또는 59 프레임과 같은 홀수 번호를 가질 수 있습니다. 옵션이 주어진다면 트리플 버퍼링은 항상 좋은 옵션입니다.

향상된 Vsync 유형

그래픽 카드 제조업체는 화면 찢어짐 및 화면 찢어짐으로 인한 기타 아티팩트와 계속 씨름하고 있습니다. 각 주요 제조업체는 단점 없이 모든 이점을 제공하려고 하는 고급 버전의 Vsync 를 내놓았습니다.(Vsync)

Nvidia 에는 ​​Vsync 에 대한 자체 지능적 접근 방식 이 있는 AdaptiveSyncFastSync 가 있습니다. 전자 는 게임의 프레임 속도가 새로 고침 빈도보다 높거나 같을 때만 Vsync 를 켭니다. (Vsync)그 이하로 떨어지면 Vsync 가 비활성화되어 버퍼 대기 시간이 제거됩니다. 후자의 솔루션은 트리플 버퍼링을 가능하게 하고 티어링 없이 가장 높은 프레임 속도를 제공하므로 더 좋습니다.

AMD 에는 (AMD)AdaptiveSync 와 같은 Enhanced Sync 가 있습니다.

Vsync 대 가변 재생 빈도

가변 재생 빈도로 알려진 Vsync 의 강력한 대안이 있습니다. Nvidia의 기술은 G-Sync(G-Sync) 로 알려져 있고 AMD는 FreeSync 를 개발 했지만 누구나 무료로 사용할 수 있도록 공개했습니다.

두 기술 모두 프레임이 거의 완벽한 정밀도로 동기화되는 방식으로 모니터와 GPU 가 서로 통신할 수 있도록 합니다. 즉, Vsync 의 모든 단점이 여기에서 해결됩니다. 

주요 주의 사항은 모니터 자체가 기술을 지원해야 한다는 것입니다. 두 표준을 모두 지원하는 모니터를 찾는 것은 드물지만 Nvidia 는 최근 에 특정 모니터에 대한 FreeSync 지원을 완화하고 추가했습니다. Nvidia 에서 허용하지 않은 모니터에서 FreeSync 를 활성화할 수도 있지만 경우에 따라 결과가 좋지 않을 수 있습니다.

Vsync 사용에 대해 알아야 할 사항을 요약해 보겠습니다 .

  • 게임이 모니터의 재생 빈도와 같거나 그 이상의 프레임 속도를 유지할 수 없는 경우 트리플 버퍼링을 활성화하거나 재생 빈도를 낮추십시오.
  • GPU 가 (GPU)Vsync 의 고급 버전을 제공 한다면 시도해 볼 가치가 있습니다.
  • G-SyncFreeSync 에 액세스할 수 있는 경우 Vsync에 대한 바람직한 대안입니다.
  • 경쟁 게임을 위한 입력 지연을 최소화 하려면 가변 새로 고침을 사용할 수 없는 경우 Vsync 를 끄고 화면이 찢어지는 상태로 라이브하십시오.

이것이 Vsync 의 기본입니다 . 이제 밖으로 나가 눈물 없는 게임 경험을 즐기십시오.



About the author

저는 10년 이상의 경험을 가진 웹 개발자이자 오디오 엔지니어입니다. 저는 Chrome/Web Audio 앱과 Discord 애플리케이션 개발을 전문으로 합니다. 두 분야의 기술을 통해 사용하고 유지 관리하기 쉬운 고품질 제품을 만들 수 있습니다. 또한 저는 Discord의 숙련된 사용자이며 현재 2년 이상 앱 작업을 하고 있습니다.



Related posts