Intel 그래픽 카드에는 X11에서 화면 찢어짐을 비활성화하는 옵션이 있습니다. 다음과 같은 스탠자로 xorg를 구성하여 활성화할 수 있습니다.
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSection
이 기능이 기본적으로 활성화되어 있지 않은 이유는 무엇입니까? TearFree 옵션의 단점은 무엇입니까?
답변1
이 시간은intel
맨페이지:
TearFree 업데이트를 비활성화하거나 활성화합니다. 이 옵션은 X가 실제 디스플레이를 업데이트하기 전에 백 버퍼에 대한 모든 렌더링을 수행하도록 강제합니다. 프레임 버퍼 크기와 동일한 추가 메모리 할당, 가끔 추가 복사본이 필요하며 손상 추적이 필요합니다. 따라서 TearFree를 활성화하면 더 많은 메모리가 필요하고 속도가 느려지며(처리량 감소) 출력 대기 시간이 약간 발생하지만 입력 대기 시간에는 영향을 미치지 않습니다. 그러나 화면 업데이트는 디스플레이의 수직 새로 고침과 동기화되어 수행되므로 디스플레이 새로 고침이 시작되기 전에 전체 업데이트가 완료됩니다. 즉, 하나의 프레임만 표시되므로 표시되는 두 프레임과 서로 다른 프레임 사이의 보기 흉한 찢어짐을 방지할 수 있습니다. 이는 합성 관리자가 수행해야 하는 작업을 복제하지만 TearFree는 합성기 업데이트(및 전체 화면 게임의 업데이트)를 스캔 출력으로 직접 리디렉션하므로 합성 사례에 추가 오버헤드가 없습니다. 또한 모든 컴포지션 관리자가 찢김을 방지하는 것은 아니며 출력이 회전하는 경우 TearFree를 활성화하지 않은 상태에서도 찢김이 계속 발생할 수 있습니다.
전체적으로 단점은 더 많은 메모리가 필요하고 처리량을 줄이고 대기 시간을 증가시킨다는 것입니다(이미 컴포지터나 vblank 동기화된 전체 화면이 없는 경우).