화면 찢기
Screen tearing화면 찢기는 비디오 디스플레이의 시각적 아티팩트이며 디스플레이 장치는 여러 프레임의 정보를 하나의 화면 [1]그리기로 표시합니다.
아티팩트는 디바이스에 대한 비디오 피드가 디스플레이의 새로 고침 속도와 동기화되지 않을 때 발생합니다.이는 리프레시 레이트가 일치하지 않기 때문에 발생할 수 있으며 티어라인은 위상차이에 따라 이동합니다(프레임레이트 차이에 비례하는 속도로).또, 2개의 동등한 프레임 레이트간의 동기화가 부족하기 때문에, 티어 라인이 위상차에 대응하는 고정 위치에 있는 경우도 있습니다.비디오 모션 중에 화면 찢기는 것으로 인해 벽이나 나무 등의 물체의 가장자리가 정렬되지 않아 찢어진 것처럼 보입니다.
찢어짐은 대부분의 일반적인 디스플레이 테크놀로지 및 비디오 카드로 발생할 수 있으며, 영화의 느린 카메라 팬이나 전통적인 사이드 스크롤 비디오 게임 등 가로로 움직이는 시각에서 가장 두드러집니다.
같은 리프레시 인터벌로 2개 이상의 프레임이 렌더링을 종료했을 경우, 화면 찢김은 1개의 넓은 찢김이 아닌 여러 개의 좁은 찢김을 의미하기 때문에 그다지 눈에 띄지 않습니다.
예방
비디오의 찢김을 방지하는 방법은, 디스플레이 디바이스와 비디오 카드의 테크놀로지, 사용중의 소프트웨어, 및 비디오 자료의 성질에 의해서 다릅니다.가장 일반적인 해결책은 여러 버퍼링을 사용하는 것입니다.
대부분의 시스템에서는, 복수의 버퍼링과 디스플레이 및 비디오 메모리의 [2]갱신 사이클의 동기 수단을 사용합니다.
옵션 "TearFree" "boolean" : TearFree 업데이트를 비활성화 또는 활성화합니다.이 옵션은 X가 실제 디스플레이를 업데이트하기 전에 백버퍼에 대한 모든 렌더링을 수행하도록 강제합니다.프레임 버퍼와 같은 크기의 추가 메모리 할당, 경우에 따라 추가 복사 및 손상 추적이 필요합니다.따라서 Tear Free를 활성화하면 더 많은 메모리가 필요하고 더 느리고(스루풋 감소), 적은 양의 출력 지연이 발생하지만 입력 지연에는 영향을 주지 않습니다.단, 화면 갱신은 디스플레이의 수직 리프레시에 동기하여 이루어지며, 디스플레이가 리프레시를 시작하기 전에 전체 갱신이 완료된다.즉, 프레임이 1개밖에 표시되지 않기 때문에 2개의 프레임과 다른 프레임이 보기 흉하게 찢어지는 것을 방지할 수 있습니다.이것은 컴포지팅 매니저가 해야 할 일을 복제하지만 TearFree는 컴포지터 업데이트(및 풀스크린 게임의 업데이트)를 직접 스캔아웃으로 리다이렉트하기 때문에 컴포지트 케이스에 추가 오버헤드가 발생하지 않습니다.또한 모든 컴포지팅 매니저가 인열을 방지하는 것은 아니며 출력을 회전해도 TearFree를 활성화하지 않아도 인열이 발생할 수 있습니다.
--
수직 동기
수직 동기란, 모니터의 현재의 리프레시 사이클이 종료할 때까지, 비디오 카드가 디스플레이 메모리에 표시되지 않게 되는 대부분의 시스템의 옵션입니다.
수직 블랭크 간격 동안 드라이버는 비디오 카드에 오프스크린 그래픽 영역을 액티브 디스플레이 영역으로 빠르게 복사하거나(더블 버퍼링), 또는 양쪽 메모리 영역을 표시 가능한 것으로 취급하고, 그 사이를 간단하게 전환(페이지 플립)하도록 지시합니다.
Nvidia 및 AMD 비디오 어댑터는 'Adaptive Vsync' 옵션을 제공합니다.이 옵션은, 소프트웨어의 프레임 레이트가 디스플레이의 리프레시 레이트를 넘었을 때만 수직 동기화가 유효하게 되어, 그렇지 않으면 무효가 됩니다.이것에 의해, 렌더링 엔진 프레임 레이트가 디스플레이의 리프레시 [3]레이트를 밑돌았을 때에 발생하는 스태터가 해소됩니다.
또[4], FreeSync나[5] G-Sync등의 테크놀로지에 의해서, 컨셉이 반전해, 컴퓨터의 컨텐츠에 맞추어 디스플레이의 리프레시 레이트를 조정합니다.이러한 테크놀로지를 이용하려면 , 비디오 어댑터와 디스플레이의 양쪽 모두의 특별한 서포트가 필요합니다.
합병증
수직 동기화가 사용되는 경우 렌더링 엔진의 프레임 속도는 비디오 신호 프레임률로 제한됩니다.이 기능은 보통 비디오 품질을 향상시키지만 경우에 따라서는 트레이드오프를 수반합니다.
저더
수직 동기화는 일반적으로 일반적인 모니터 프레임 속도(24~30 프레임/초)보다 훨씬 낮은 프레임 속도로 기록되기 때문에 비디오 및 동영상 프레젠테이션에 아티팩트가 발생할 수도 있습니다.통상 60Hz의 리프레시 레이트로 설정된 모니터로 동영상을 재생하면 비디오 플레이어는 모니터의 마감을 놓치는 일이 많아지고 인터럽트된 프레임이 의도한 것보다 약간 빠르게 표시되기 때문에 저평가와 같은 효과를 얻을 수 있습니다.(텔레시네: 프레임 레이트의 차이).
입력 지연
다양한 렌더링 엔진을 사용하는 비디오 게임은 일반적으로 렌더링 엔진이 프레임이 요청되는 순간에 엔진의 변수가 지정하는 것에 따라 실시간으로 각 프레임을 빌드할 것으로 예상되기 때문에 수직 동기로부터 시각적으로 이점을 얻는 경향이 있습니다.그러나 수직 동기화는 입력 지연을 일으키기 때문에 게임의 [6]인터랙티브성을 방해하고, 특히 정확한 타이밍이나 빠른 반응 시간을 필요로 하는 게임을 방해합니다.
벤치마킹
마지막으로 비디오 카드 또는 렌더링 엔진을 벤치마킹하는 것은 일반적으로 모니터 기능이나 비디오의 찢김에 관계없이 하드웨어와 소프트웨어가 디스플레이를 최대한 빨리 렌더링한다는 것을 의미합니다.그렇지 않으면 모니터와 비디오 카드가 벤치마크 프로그램을 억제하여 잘못된 결과를 초래합니다.
기타 기술
일부 그래픽 시스템에서는 소프트웨어가 메모리 액세스를 수행하여 디스플레이 하드웨어의 새로 고침 주기에 대해 동일한 시점에 유지되도록 합니다. 이를 래스터 인터럽트 또는 빔 레이싱이라고 합니다.이 경우, 소프트웨어는 모니터의 액티브 리프레시 포인트 바로 뒤에 있는 갱신된 디스플레이 영역에 기입합니다.이것에 의해, 카피 루틴이나 예측 가능한 스루풋이 적은 렌더링 엔진이, 모니터의 액티브 리프레시 포인트를 「추적」할 수 있는 한, 스루풋이 저하됩니다.
대신 소프트웨어는 액티브리프레시 포인트 바로 앞에 있을 수 있습니다.어느 정도 앞서가느냐에 따라 이 방법은 일정한 속도로 디스플레이를 복사하거나 렌더링하는 코드를 요구할 수 있습니다.지연 시간이 너무 길면 모니터가 소프트웨어를 추월하여 렌더링 아티팩트, 찢김 등의 원인이 될 수 있습니다.
Commodore 64 및 ZX Spectrum과 같은 기존 시스템의 데모 소프트웨어는 각 비디오 시스템의 예측 가능한 특성 때문에 이러한 기술을 자주 활용하여 그렇지 않으면 불가능한 효과를 달성했습니다.
레퍼런스
- ^ How to fight tearing, virtualdub.org, 2005-10-31, archived from the original on 2015-05-30, retrieved 2015-05-19
- ^ Vsync to Solve Screen Tearing
- ^ Adaptive VSync, nvidia.com, retrieved 2014-01-28
- ^ https://www.amd.com/en-us/innovations/software-technologies/technologies-gaming/freesync[베어 URL]
- ^ "Nvidia G-Sync is a smooth move for PC games".
- ^ Derek Wilson (2009-07-16), Exploring Input Lag Inside and Out, AnandTech, retrieved 2012-01-15