GNU/Linux >> Znalost Linux >  >> Linux

Proč je trhání videa v Linuxu takový problém?

To vše je způsobeno skutečností, že X server je zastaralý, nevhodný pro dnešní grafický hardware a v podstatě veškerá přímá komunikace grafické karty probíhá jako rozšíření ("záplata") přes staré nafouklé jádro. X server neposkytuje žádné vestavěné prostředky synchronizace mezi uživatelským vykreslováním okna a obrazovkou zobrazující okno, takže se obsah mění uprostřed vykreslování. Toto je jeden z dobře známých problémů X serveru (má jich mnoho, celý model toho, co server dělá a je zastaralý - obsluha událostí v podoknech, metadata o oknech, grafická primitiva pro přímé kreslení...). Sady nástrojů widgetů to vše chtějí většinou zamlčet, ale trhání je stále problém, protože neexistuje žádný mechanismus, který by to zvládl. Další problémy vznikají, když máte více karet, které vyžadují různé ovladače, a navíc má knihovna opengl pevně připojenou závislost na xlib, takže ji nemůžete skutečně používat nezávisle, aniž byste prošli X.

Wayland, který se poněkud bez nadšení snaží nahradit X, podporuje ve svém jádru pedantickou synchronizaci vsync a je inzerováno, že má každý snímek naprosto dokonalý.

Pokud si rychle zadáte do googlu „trhání videa na cestě“, najdete o všem více informací.


Pokud používáte ovladač nvidia>=365.20, zkuste povolit možnost "Force Full Composition Pipeline" v nvidia-settings .


Trhání obrazovky se objevuje většinou ze dvou důvodů – ovladače, které ještě nejsou k dispozici, a nedostatek vsync s některými správci oken.

Pokud jde o ovladače, bezplatné i proprietární ovladače podporují skládání volného trhání (oba nvidia a amd). Uvědomte si, že např. povolení desktopu bez trhání v katalyzátoru (fglrx ) může způsobit vypadávání snímků a zpoždění, takže je obvykle ve výchozím nastavení zakázáno. Pokud jde o otevřený ovladač, měl by být ve výchozím nastavení povolen vsync. Problém trhání obrazovky lze tedy vyřešit vyzkoušením různých ovladačů a jejich konfigurací.

Co se týče správců oken, je známo, že Openbox, Awesome a další odlehčené wms nepodporují tear-free. XFCE (xfwm, abych byl konkrétní) to v posledních verzích opravil, 4.11/12 nyní má Vsync. Hlavní desktopová prostředí také nemají problémy s trháním, včetně GNOME, KDE, Unity a Cinnamon.

Pokud stále dochází k trhání obrazovky, můžete zkusit jiného správce kompozice, jako je Compton nebo Kwin. Kwin je správce oken pro KDE a mám zkušenosti s používáním kwin v XFCE, když nepodporoval vsync a fungoval opravdu dobře.

Takže řešením je zde experimentování, co je rozbité v jedné kombinaci driver/wm, může fungovat v jiné. Věřím, že se situace brzy zlepší, protože ovladače s otevřeným zdrojovým kódem jsou stále pokročilejší a přechod na Wayland může odstranit staré problémy s Xorg.


Linux
  1. Proč je Linux zásadní pro edge computing

  2. Proč programátoři milují balení Linuxu

  3. 5 důvodů, proč miluji kódování na Linuxu

  1. Proč jsem přešel z Macu na Linux

  2. Proč drahá sluchátka zní na Linuxu levně – ovladače jsou na hovno?

  3. Proč je JFS tak nejasný?

  1. Proč se držím xtermu

  2. Jak opravit trhání videa v Linuxu (s grafikou Intel)

  3. Proč je v ovladačích zařízení Linux kromě init potřeba metoda sondy?