![KDE 合成器撕裂预防(“vsync”)在幕后有什么作用?](https://linux22.com/image/175640/KDE%20%E5%90%88%E6%88%90%E5%99%A8%E6%92%95%E8%A3%82%E9%A2%84%E9%98%B2%EF%BC%88%E2%80%9Cvsync%E2%80%9D%EF%BC%89%E5%9C%A8%E5%B9%95%E5%90%8E%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我有屏幕撕裂问题。当我Tearing prevention ("vsync")
在合成器中设置其他内容然后返回Automatic
屏幕时,撕裂现象消失了。我想知道Tearing prevention ("vsync")
更改哪些配置文件来解决此问题并找到永久解决方案。
我测试屏幕撕裂这个视频。
我在使用最新的 live 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 系统设置的一部分)+ 同步到 VBlank 作为 NVIdia 专有驱动程序设置的一部分。就我而言,这完全符合 99% 的目的。
不过,我仍然可以在 VLC 全屏播放高清视频时观察到撕裂现象。
我能够使用不同的方式解决这个问题:
- 选项 "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" 作为 xorg.conf 的一部分,独占或:
- vsync = 自动或仅在便宜时作为 kde 设置的一部分。
我选择了后者,因为所需的(本地)定时器中断数量显着减少。
因此,为了回答你的问题:“KDE 合成器有什么作用...“对我来说,与任何其他方法相比,它以更低的成本(就中断 => 上下文切换而言)在 VLC 中实现无撕裂全屏高清视频渲染。