KDE Synth Tear Prevention("vsync")은 뒤에서 무엇을 합니까?

KDE Synth Tear Prevention("vsync")은 뒤에서 무엇을 합니까?

화면이 찢어지는 문제가 있습니다. Tearing prevention ("vsync")컴포지터에서 다른 것을 설정한 다음 화면으로 돌아가면 찢어짐 Automatic현상이 사라집니다. Tearing prevention ("vsync")이 문제를 해결하고 영구적인 해결책을 찾기 위해 어떤 구성 파일을 변경해야 하는지 알고 싶습니다 .

화면 찢어짐 테스트를 해봤습니다이 비디오.

또한 무료 드라이버와 비자유 드라이버 모두와 함께 최신 라이브 ISO를 사용할 때 화면이 찢어지는 현상을 경험했습니다.

Operating System: Manjaro Linux 
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.70.0
Qt Version: 5.15.0
Kernel Version: 5.6.16-1-MANJARO
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 15,5 GiB of RAM
GPU: Nvidia GeForce 940M

답변1

이 옵션은 기본 GPU 드라이버 설정에 VSync 기능이 없는 경우에만 유용하다고 생각합니다.

nouveau 또는 다른 드라이버를 사용하는 경우 이 옵션을 자동으로 설정하십시오. Nvidia 카드가 Nvidia 드라이버를 사용하는 경우 이 옵션을 비활성화하고 "사용 안 함"으로 설정할 수 있습니다.

Force Composition Pipeline이미 Nvidia 설정에 있기 때문입니다 .

답변2

경고: 이 문제는 분명히 kwin 버전 < 5.21과 관련이 있습니다. 그 이후로 상황이 많이 바뀌었고 전체 수직 동기화 전략이 다시 작성되었습니다. 따라서 >=5.21에서 문제가 다시 나타나면 다음 답변은 더 이상 사용되지 않는 것으로 간주되어야 합니다.

내 경험에 따르면:

나는 MPK99의 제안에 동의합니다:

Vsync: 사용 안 함(kde 시스템 설정의 일부) + NVIDIA 독점 드라이버 설정의 일부로 VBlank에 동기화합니다. 내가 아는 한 이것은 99%의 목적에 부합합니다.

그러나 VLC에서 HD 비디오를 전체 화면으로 재생할 때 찢어지는 현상이 여전히 관찰됩니다.

저는 다음과 같은 다양한 방법을 사용하여 이 문제를 해결할 수 있었습니다.

  • 옵션 "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" xorg.conf의 일부로 독점적으로 또는:
  • vsync = 자동 또는 kde 설정의 일부로 저렴한 경우에만.

필요한 (로컬) 타이머 인터럽트 수가 크게 줄어들기 때문에 후자를 선택했습니다.

따라서 귀하의 질문에 대답하려면: "KDE 합성기는 무엇을 하는가..."저에게는 다른 어떤 방법보다 저렴한 비용(인터럽트 => 컨텍스트 스위치 측면에서)으로 VLC에서 끊김 없는 전체 화면 HD 비디오 렌더링을 달성합니다.

관련 정보